1.先看乙個常用的命令
這個命令組合了幾個不同的shell命令,shell命令是有這種特性在裡面的。就是統一性,簡單性。
可以通過管道命令組合多個shell命令。如上面的命令,分別是:
顯示當前執行的程序,sort是對程序進行排序,uniq是去除重複的情況,grep -v sh 是去掉,不展示sh這個程序,而more則表示展示更多。
同樣的,命令也可以這樣寫:
使得命令執行結果重定向到文字文件中。
2. 互動式shell程式設計的應用
學過程式設計的人,對這個例子不會感到陌生。唯一可能存在疑惑的地方是 file 是個什麼東西?
在這裡,file是變數。而$file表示shell程式設計中的引用變數。當然,也可以使用別的名稱,但是顯然file這個名稱更方便理解。
3. shell中的變數
shell程式設計的特點就是簡潔,因此在語法、變數使用上有些讓人迷惑。但是沒辦法,就是這樣定義實現的!
shell中的變數定義是隨時定義隨時可以使用,在使用的時候若想取得變數的值,
需要者變數前面加上美元符,如 $file 就會替換成file的值;
如下:
使用雙引號是為了將有空格的字串包含起來,避免出現錯誤。
4. shell變數的賦值
這個有兩種方法,一種是直接賦值,如
file = "my file"
另一種是從標準輸入讀入,如
5. shell程式設計中的環境變數
執行命令,env,或者執行命令
都會看到這個變數的值。為什麼要加上$這個符號呢,這樣才能展示變數的值哦!
而對於win系統來講,在cmd中,展示環境變數是 echo %home%
6. shell程式設計中的引數變數
先看下面乙個例子:
執行這個指令碼
顯示結果是
hello
the program test.sh is now running
the second para is b
the first para is a
the env home is home/usr/
所以,這裡很清楚了,關於shell程式設計中的引數呼叫;和c語言中main函式的 char **argv是類似的!
ps:
unix/linux系統都是支援標準輸入、輸出、錯誤重定向的。用0、1、2分別表示標準輸入、輸出、錯誤,用符號》和《表示輸出和輸入重定向。
如開啟乙個檔案,
vi test.txt
也可以這樣開啟
再ps:為什麼寫的sh程式不能執行?
請檢視該檔案的許可權,並對該檔案新增可執行許可權,chmod +x test.sh 即可;
或者是程式命名和系統命令衝突,這時執行的時候使用 ./test.sh 可以將當前程式指令碼的完整路徑告訴shell。
Shell指令碼基本教程筆記之一
echo this is an example of the echo command this is a comment line.this would not produce any out put 變數variable1 從鍵盤中讀入乙個值給變數fname read fname export命...
SQLite學習筆記之一
2010年sqlite學習筆記之一 官方站點 從 的download頁面獲取 download.html sqlite amalgamation 3 6 22.zip是sqlite的windows下原始碼檔案 sqlite 3 6 22.zip sqlitedll 3 6 22.zip 在sqlit...
C primer 學習筆記之一
c 中類模板可以定義static成員 每個類模板例項化時都會生成乙個static成員副本。如下 定義了類模板a並在a中宣告了static成員a 在類外定義了a 在主程式中定義了例項化了a和a兩個具體的類 includeusing namespace std template class a a 中的...