shell指令碼 筆記

2021-09-28 14:29:28 字數 1742 閱讀 9427

指令碼  calc.sh

echo "shell指令碼:計算加減乘除。檔名稱:$0"

echo "輸入+,-,x,/"

echo "格式示例:sh calc.sh 10 2 +"

a=$1

b=$2

op=$3

echo \* is *

if [ $op = "+" ];then

echo $a + $b = `expr $a + $b`

elif [ $op = "-" ];then

echo $a - $b = `expr $a - $b`

elif [ $op = "x" ];then

echo $a \* $b = `expr $a \* $b`

elif [ $op = "/" ];then

echo $a / $b = `expr $a / $b`

else

echo "operation is not supported!"

fi

結果:

[aaa@bbb sh-dir]$ ./calc.sh 10 2 +

shell指令碼:計算加減乘除。檔名稱:./calc.sh

輸入+,-,x,/

格式示例:sh calc.sh 10 2 +

* is calc.sh first.sh second.sh test.sh third.sh times.sh

10 + 2 = 12

[aaa@bbb sh-dir]$ ./calc.sh 10 2 -

shell指令碼:計算加減乘除。檔名稱:./calc.sh

輸入+,-,x,/

格式示例:sh calc.sh 10 2 +

* is calc.sh first.sh second.sh test.sh third.sh times.sh

10 - 2 = 8

[aaa@bbb sh-dir]$ ./calc.sh 10 2 x

shell指令碼:計算加減乘除。檔名稱:./calc.sh

輸入+,-,x,/

格式示例:sh calc.sh 10 2 +

* is calc.sh first.sh second.sh test.sh third.sh times.sh

10 * 2 = 20

[aaa@bbb sh-dir]$ ./calc.sh 10 2 /

shell指令碼:計算加減乘除。檔名稱:./calc.sh

輸入+,-,x,/

格式示例:sh calc.sh 10 2 +

* is calc.sh first.sh second.sh test.sh third.sh times.sh

10 / 2 = 5

問題:用*表示 乘號

,作為輸入引數時

輸入命令:sh calc.sh 10 2 *

指令碼處理*有問題,暫未找到合理解決辦法,菜鳥乙個。。。,只能用小寫x代替

如指令碼中echo \* is *

輸出結果:* is calc.sh first.sh second.sh test.sh third.sh times.sh

請大神指教。 

Shell指令碼筆記

1 home目錄下的 bashrc指令碼檔案記錄提示文字顏色等各類設定 2 bash歷史記錄檔案 bash history 3 echo執行之後會新增換行符 4 bash中不會對單引號變數求值,而是原樣輸出 5 echo e 包含轉義序列的字串 6 var value不同於var value,前者是...

shell指令碼筆記

比較 描述 n1 eq n2 檢查n1是否與n2相等 n1 ge n2 檢查n1是否大於或等於n2 n1 gt n2 檢查n1是否大於n2 n1 le n2 檢查n1是否小於或等於n2 n1 lt n2 檢查n1是否小於n2 n1 ne n2 檢查n1是否不等於n2 1.指令碼sh bin bash...

shell指令碼筆記

變數 本地變數就是 變數屬性 變數值 注意等號兩邊不能有空格 區域性變數 local 只能應用於函式 環境變數 export用它修飾的 特殊變數 獲取程序的id 獲取引數 獲取某乙個位置的引數 1,2 輸出上一條指令的執行狀態 bashpid 列印當前程序的實行id 位置變數 運算子 算術表示式 e...