在shell 中常用的特殊符号罗列如下: # ; ;;
, / \ 'string'|
$ ${} $
$$ $* "string"* **
: ^ $# $@ `command`{} [] [[]] () (()) || && {xx,yy,zz,
}~ ~+ ~- & \ + - %= ==
= 输出/输入重导向 > >> < &> 2&> 2>& >&2 # 井号 (comments) 这几乎是个满场都有的符号,除了先前已经提过的"第一行" #
/bin/bash 井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字,不会被执行
# This line is comments
echo "a = $a" # a = 0 由于这个特性,当临时不想执行某行指令时,只需在该行开头加上 # 就行了
这常用在撰写过程中
#echo "a = $a" # a = 0 如果被用在指令中,或者引号双引号括住的话,或者在倒斜线的后面,那他就变成一般符号,不具上述的特殊功能
~ 帐户的 home 目录~~~~~~ 算是个常见的符号,代表使用者的 home 目录:cd ~;也可以直接在符号后加上某帐户的名称:cd ~user 或者当成是路径的一部份:~/bin;~+ 当前的工作目录,这个符号代表当前的工作目录,她和内建指令 pwd 的作用是相同的
# echo ~+/var/log ~- 上次的工作目录,这个符号代表上次的工作目录
# echo ~-/etc/httpd/logs ; 分号 (Command separator) 在 shell 中,担任"连续指令"功能的符号就是"分号"
譬如以下的例子:cd ~/backup ; mkdir startup ; cp ~/
* startup/
;; 连续分