最近在学习shell,这里总结下
1.$()
和${}
的区别。
$() 用来替换命令行,一般来说最好用``(反引号)来表示,可以在所有的unix shell上使用,移植性比较好
${} 用来替换变量,变量一般不要直接用$变量名来表示,最好是用${变量名}来表示,{}用来界限变量名。
2.umask
umask 表示文件创建的默认权限掩码,对于文件来说默认的权限码是666,对于目录来说默认的权限码是777,
则使用touch/mkdir创建得到的权限为666/777-默认umask的值
可以使用umask直接修改 umask ---
3.(())
在shell脚本中,((-))用来执行一些算数运算,在里面变量名不需要直接加$
4.输入输出参数
$0 表示执行路径 非文件名
$1 表示第一个参数,以此类推
5.在脚本中输入输出重定向
> 输出重定向
< 输入重定向
如果想在脚本中一直重定向执行 exec 1>&3
6.创建临时文件/目录
mktemp (-d 表示创建目录) nameXXXXXX
创建一个临时文件
7.kill 和 kill -9
kill 发送的是SIGTERM 尽可能的终止进程,程序有可能还在执行
kill -9 发送的则是SIGINT 则是直接终止进程