shell笔记
-
执行方式 子进程执行-->直接命令执行:chmod a+rx /test.sh: ./test.sh 和bash:bash ./test.sh 父进程执行-->source ./test.sh 和.source相同
-
配置文件的读取 login shell-->/etc/profile -->
./bash_profile、/.bash_login、~/.profile 和 ~/.bashrc(在bash_profile 被引用) -
命令执行机制 字符解析 和shell 展开 和 查找命令、执行
-
字符串匹配机制 正则表达式-->如grep 和 通配符-->如ls
-
默认变量 13和 # 参数个数和 @ 全部参数
-
判断命令 test 基本语法 test condition [ condition ](注意 condition 前后要有空格) 注意:条件非空即为 true,[ atguigu ]返回 true,[ ] 返回 false。常用判断条件 两个整数之间比较 -eq 等于(equal) -ne 不等于(not equal) -lt 小于(less than) -le 小于等于(less equal) -gt 大于(greater than) -ge 大于等于(greater equal) 注:如果是字符串之间的比较 ,用等号“=”判断相等;用“!=”判断不等。按照文件权限进行判断 -r 有读的权限(read) -w 有写的权限(write) -x 有执行的权限(execute) 按照文件类型进行判断 -e 文件存在(existence) -f 文件存在并且是一个常规的文件(file) -d 文件存在并且是一个目录(directory case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。 双分号“;;”表示命令序列结束,相当于 java 中的 break。
最后的“*)”表示默认模式,相当于 java 中的 default。 -
选择命令 if elif else if case in ) esae
-
循环 while [condition] ; do; doneuntil [condition]; do; donefor in [list]; do ; done 7.read 读取控制台输入 read 是 Shell 内置命令,用来从标准输入中读取数据并赋值给变量。如果没有进行重定向,默认就是从键盘读取用户输入的数据;如果进行了重定向,那么可以从文件中读取数据。
-
基本语法 read (options) (variables)options表示选项,如下表所示; variables表示用来存储数据的变量,可以有一个,也可以有多个。 options和variables都是可选的,如果没有提供变量名,那么读取的数据将存放到环境变量 REPLY 中。 ①options:-p:指定读取值时的提示符; -t:指定读取值时等待的时间(秒)如果-t 不加表示一直等待 ②variables变量:指定读取值的变量名