- test语句在 等号 前后 都要有空格 , 空格可以多于一个; 推广一下, 赋值语句的等号前后不能有空格, 非赋值语句要有空格(我还不敢绝对的这么说)
- 双引号, 就相当于printf下的双引号;单引号就是一个字符串括号, 里面的就是字符串内容
- true,比如test下的一个成功匹配, 返回0, 在if下是有效的真值
- 声明一个数字参数: declare -i x,更多declare的用法点击这里
- shell下运行的脚本是在登录终端下运行的子终端, 子终端有自己的环境, 登录终端和子终端共享环境变量. 子终端下export的数据在父终端下不会改变, 反过来却有效
- shell先对pipe和重定向处理, 然后再作变量代换。有时要使得命令先作代换(特别是对特殊符号的处理),eval command
- jing@jing-laptop:~$ E= ;echo $E; echo ${E:-/bin};echo $E
/bin
jing@jing-laptop:~$ E= ;echo $E; echo ${E:=/bin};echo $E
/bin
/bin
说明: :-和:=都设置一个默认值, 当变量为空时, 默认值被代入, 前者只是临时代换, 后者则是对变量赋值 - shell的命令提示功能: 连按两下tab, 可以只按tab, 然后可以输出所有命令, 或者输入某些提示词,再按tab, 比如o+tab+tab, 列出所有以o开头的命令
unix shell programming的一些细节
最新推荐文章于 2021-05-13 11:26:21 发布