1、不同型別的shell指令碼所使用的語法規則不近相同。
最近在看一本書:《unix.shell範例精解(第4版)》,這本書主要將linux的命令,講的太好了,通俗易懂,對於我這種只會用一星半點的shell 語法的人來說簡直是神器,推薦大家有時間也可以看看。
不通的shell 型別: boum shell ,kernal shell (不會拼寫) ,bash 等裡面用的條件判斷符號都不同。
1、變數的名稱引用了另乙個變數的值,怎樣定義變數
egg:向shell傳遞引數,通過for迴圈遍歷, echo $($i) 怎樣獲取每個變數的值? eval 變數回顯
#!/bin/bash
a=($*)
for (( i=0;i<$#;i++ )) do
echo $i
eval table=\$$
echo $table
done
2、(()) [[ ]] 什麼時候使用?
sh好像沒有算數運算,不支援(()),算術運算要用 expr
ksh版本以後:
(())用於算數運算
用於條件判斷 [[ ]] 和都是用於條件判斷,bash中的相容了ksh中的
linux指令碼學習
最近又重新撿起了以前放在一邊的linux指令碼了,呵呵,最開始學習linux指令碼編寫是在搭建linux下的qmail郵件伺服器的時候。那時候由於qmail要安裝很多軟體包,所以就把命令整理成乙個指令碼來一次批處理執行,那時也學到了linux下的shell程式設計。指令碼其實多半就是終端命令的乙個集...
linux指令碼學習
進入當前指令碼所在目錄 其他神馬方法都是浮雲 sh dir x echo 0 grep if test then sh dir dirname 0 else sh dir dirname pwd 0 ficd sh dir 指令碼暫停 bash c read n1 p press any key t...
linux指令碼學習
進入當前指令碼所在目錄 對於軟鏈結不行 curr dir cd dirname 0 pwd cd curr dir for迴圈 for i 1 i 10 i do echo i sleep 1 done 指令碼暫停 bash c read n1 p press any key to continue...