shell 最基本的工作就是執(zhí)行命令。以互動(dòng)的方式使用 shell 很容易了解這一點(diǎn):沒敲入一個(gè)命令,shell 就會(huì)執(zhí)行。像這樣:
cd /tmp:ll -d sh
drwxr-xr-x 2 root root 4096 6 月 7 18:56 sh
以上是在我電腦上運(yùn)行的程序。
以上的例子很簡單,展示了 linux 命令寒的原理。
第三選項(xiàng)的開頭是一個(gè)破折號(hào)(或減號(hào))。選項(xiàng)既然叫做選項(xiàng),就代表選項(xiàng)可有可無。如需要多個(gè)選項(xiàng),只需要輸入一個(gè)劍豪后面加選項(xiàng)即可,例如,ls -l -t /tmp/sh
可以寫成 ls -lt /tmp/sh
如果多個(gè)命令之間使用的是 & 符號(hào),而不是分號(hào),則 shell 將在后臺(tái)執(zhí)行其前面的命令,這意味著 shell 不用等到該命令的完成,就可以繼續(xù)執(zhí)行下一個(gè)命令。
例如:
name=syx;
echo ‘$name’ 輸出 $name
echo “$name” 輸出 syx
如果想將 name1=syx
,name2=zsf
合并,成 syxzsf
則 name=${name1}${name2}
,echo $name name=syxzsf
,貌似還有其他的合并方法,個(gè)人覺得這一種最好。至于變量的四種類型什么的,暫時(shí)不搞。
echo 的作用就是產(chǎn)生輸出,可以提示用戶,或者用來產(chǎn)生數(shù)據(jù)提供用戶,或者產(chǎn)生數(shù)據(jù)進(jìn)一步處理。
早起的 echo 只能將參數(shù)打印到 shell 交互界面上,參數(shù)之間以一個(gè)空格隔開,并以換行符號(hào)結(jié)尾。但是,這么強(qiáng)大的語言,怎么可能不進(jìn)一步的發(fā)展?后來又衍生出了 -n 選項(xiàng),省略結(jié)尾的換行符號(hào)。
etho [string......]
用途是產(chǎn)生 shell 腳本的輸出,沒有什么主要選項(xiàng)。行為模式是將參數(shù)打印到標(biāo)準(zhǔn)輸出,參數(shù)之間用空格隔開,并以換行符結(jié)尾。轉(zhuǎn)義序列用來表示特殊字符,以及控制其行為模式。
常用的轉(zhuǎn)移序列:
\a:
\b:
\c:
\f:
\n: 換行
\r: 回車
\t: 水平制表符
\v: 垂直制表符
\\: 反斜杠字符
\0ddd:
在實(shí)際編寫 shell 腳本的時(shí)候,\a
序列通常用來引起用戶的注意,\0ddd
序列最有用的地方就是通過送出終端轉(zhuǎn)移序列進(jìn)行 (非常) 原始的光標(biāo)操作,但是不建議這么做。很少使用 \0ddd
序列。