linux 指令碼學習 細節問題

2021-08-02 21:39:26 字數 627 閱讀 1668

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...