shell 脚本的一些语法笔记

if(-z str)   #测试str为空串

pushd命令常用于将目录加入到栈中,加入记录到目录栈顶部,并切换到该目录;若pushd命令不加任何参数,则会将位于记录栈最上面的2个目录对换位置

popd用于删除目录栈中的记录;如果popd命令不加任何参数,则会先删除目录栈最上面的记录,然后切换到删除过后的目录栈中的最上面的目录(常用的是不加参数,相当于切换到pushd之前的目录)

ln 命令:

常用于为某一个文件或目录在另外一个位置建立一个同步的链接

这个命令最常用的参数是-s,具体用法是:
sudo ln -s 源文件 目标文件 

举例:

当前目录是/local,而我经常要访问/usr/local/linux/work

那么我就可以使用在local下建立一个文件linkwork,

然后sudo ln -s /usr/local/linux/work  /local/linkwork

即建立两者之间的链接。

总是有三个文件处于打开状态,标准输入(键盘输入)、标准输出(输出到屏幕)、标准错误(也是输出到屏幕),它们分别对应的文件描述符是0,1,2 。

>/dev/null 2>&1 

//  实际上,应该等同于这样: 1>/dev/null 2>/dev/null ,默认情况下就是1,标准输出,所以一般都省略。 而&符号,后面接的是必须的文件描述符。不能写成2>1,这样就成了标准错误重定向到文件名为1的文件中了,而不是重定向标准错误到标准输出中。所以这里就是:标准输出重定向到了/dev/null,而标准错误又重定向到了标准输出,所以就成了标准输出和标准错误都重定向到了/dev/null

猜你喜欢

转载自www.cnblogs.com/zqmao/p/9783288.html