why 发表于 2018-8-23 13:02:04

shell环境设定

  shell也是应用程序,工作于用户模式;运行为进程;
  shell进程用于提供命令行界面:提供一系列工作特性,有些特性可以自行设定;
  bourn: shell, bsh --> sh
  BSD: Berkeley System Distribution, csh
  korn --> ksh
  bash --> Bourn Again SHell, bash
  /etc/shells: tcsh, dash
  /sbin/nologin: 不能登录
  # useradd -s /sbin/nologin mongodb
  解释器:
  理解其它命令,并且让命令执行起来;
  理解语句,并且能根据流程控制机制让语句按需执行;
  编译器:
  理解源程序,并且能够将源程序转换为二进制格式,而后让其够执行;
  程序文件:源代码
  解释器:
  由解释器负责读取一句执行一句;
  编译器:
  事先,将整个程序转换成二进制格式,而后执行;
  程序开发语言:
  解释型语言:perl, python, ruby, bash
  也称为动态语言
  编译型语言:C, C++, C#
  也称为静态语言
  变量:内存空间,可用于存储数据
  变量类型:数据存储格式,数据表示范围;
  整型
  浮点型
  字符型
  布尔型
  整数:11, 4bits, 8bits
  1011
  字符:ASCII, 所有基本字符共128个,至少7bits来表示所有的基本字符;
  1:8bits
  1: 8bits
  浮点:11.00,近似值
  单精度
  双精度
  要使用变量,其步骤通常是:
  1、声明:要指定其类型;
  声明的同时,给其一个初始值,这个叫做变量的初始化;
  2、赋值:
  int V=3;
  bash: 交互式接口,提供编程环境
  变量:
  弱类型语言:
  1、不强制区分变量类型,无论存储什么数据,默认均以字符格式存储;
  2、不需要事先声明;用到时,直接使用,直接赋值;
  定义变量:
   VAR_NAME=Value
  引用变量:
  ${VAR_NAME}
  撤消变量:
  unset VAR_NAME
  bash变量类型:
  本地变量:只对当前shell进程有效;对其子shell及其它shell都无效;
  局部变量:local VAR_NAME=Value,仅对局部代码有效,其作用范围不包括当前shell的所有位置;
  环境变量:export VAR_NAME=Value, 对当前shell及其子shell有效;
  位置变量:$1, $2, ...
  特殊变量:$$, $!, $#, $?
  bash变量也可声明,甚至可以指定类型:declare
  declare -i VAR_NAME: 声明一个整型变量
  declare -x VAR_NAME: 声明一个环境变量
  declare -a VAR_NAME: 声明一个数组
  bash查看环境变量的命令:
  printenv
  export
  查看所有变量:
  set
  变量引用:${VAR_NAME}
  变量替换:只有在双引号中才能实现,
  bash的引号:
  双引号:弱引用,可以实现变量替换;
  单引号:强引用,不替换,而显示字符串本身;
  反引号:命令引用, ``, $()
  `date`
  bash特性:
  变量
  快捷键
  命令别名
  命令行展开:{}, ~
  管道
  输入、输出重定向
  编程
  命令行补齐
  路径补全
  bash的快捷键:
  Ctrl+a: 跳至命令行首
  Ctrl+e:         尾
  Ctrl+u: 删除命令行首至当前光标所在处的内容
  Ctrl+k: 删除当前光标所有处至命令行尾的内容
  Ctrl+l: 清屏,相当于clear命令
  Ctrl+c: 取消或终止;
  Ctrl+z: 将当前命令送至后台

页: [1]
查看完整版本: shell环境设定