Linux下高效编写Shell—shell特殊字符汇总
减号,连字符(Hyphen/minus/dash)。 1. 作为选项,前缀使用。用于命令或者过滤器的选项标志;操作符的前缀。如:## COMMAND -[选项列表]
ls -al
sort -dfu $file
set -- $variable
if [ $file -ot $file2 ]
then
echo "$file is older than $file2."
fi
2. 用于stdin或者stdout的重定向的源或目的.在tar没有bunzip2的程序补丁时,我们可以这样:
bunzip2 linux-2.6.13.tar.bz2 | tar xvf -
##将前面解压的数据作为tar的标准输入
##(这里使用一个-表示)
注意:在实作的时候,如果文件名是以[-]开头的,那么在加上这个作为定向操作符的时候,可能会出错,此时应该为文件加上合适的前缀路径,以避免这种情况发生,同样的,在echo变量的时候,如果变量是以[-]开始,那么可能也会产生意想不到的结果,为了保险起见,可以使用双引号引用标量:
var="-n"
echo $var
## 试试看有什么输出?
还有,这种表示方法不是Bash内建的,要达到此点的这种效果,需要看你使用的软件是否支持这种操作;
3. 表示先前的工作目录(previous working directory),因此,如果你cd到其他目录下要放回前一个路径的时候,可以使用cd -来达到目的,其实,这里的[-]使用的是环境变量的$OLDPWD,注意:这里的[-]和前一点是不同的;
4. 减号或者负号,用在算术操作中。
页:
[1]