問題:
你希望根據實際情況執行不同的命令,怎麼去實現呢?
解決方案:
有很多問題解決這個問題,這也是指令碼要解決的。後面的章節中有很多的程式設計邏輯可以解決這個問題,比如
if/then/else,case
語句。
fn=/tmp/x.x
prog=echo
$prog $fn
prog=cat
$prog $fn
討論:我們可以將程式名賦給變數上面的例子是
$prog
,後面要用這個命令的時候就使用這個變數,
bash
可以分析命令列,並用變數的值替換,然後執行它,就跟你手動輸入的一樣。
注意:值得注意的一點是。有的程式會使用一些環境變數比如
$zip
和$unzip
來傳遞引數。如果你設定
zip='/usr/bin/zip',
你可以用上幾天的時間來思考為什麼在命令列能正確執行但是到了指令碼裡面就錯誤。
BASH 以變數的形式執行shell命令
有時候需要執行組裝的命令或者外部 例如檔案 定義的命令,需將這些命令定義為乙個變數,然後執行。cmd ls l cmd但這種方式不適用於多個命令或者一些複雜的命令,例如cmd ls l a.log 2 1 cmd cmd cd ls l cmd會報如下錯誤 a.log存在 ls no such fi...
bash執行多條命令
在使用git過程中,命令比較多,希望改為一條命令 git提交時,總共需要三條命令 git add git commit m git push origin branchl branchrls date cd user pwd執行順序 命令順序執行,命令之間不存在關係,互不影響 作用 連線多個命令,簡...
Bash基礎 順序執行命令
首先,值得提一下的是,在bash裡,最小的執行單位應該是pipeline.bash支援對pipelines進行組合,產生順序 條件 迴圈等結構。每個pipeline在其自己的subshell中執行,有自己的pid.但是為了方便,在這裡介紹順序 條件 迴圈結構時,不刻意強調是由pipeline組成,依...