[英]Change directory in a shell script, and using expr
我剛開始使用Shell腳本(sh),但有兩個問題。
問題1 :我正在嘗試制作一個非常簡單的腳本,該腳本創建目錄並立即進入該目錄。 這是我目前擁有的腳本:
#!/bin/sh
mkdir -p "$1"
cd "$1"
由於某些原因,這不起作用。 它創建目錄,但不進入目錄。 我在這里錯過明顯的東西嗎?
問題2 :我正在編寫一個使用expr的非常簡單的計算器。 但是對於乘法,我使用x
代替*
。 這就是我現在所擁有的:
#!/bin/sh
if test $# -lt 3
then
echo "Usage calc [operand1] [operator] [operand2]"
exit
fi
if test $2 = x
then
op='\*'
else
op=$2
fi
ret=`expr $1 $op $3`
echo $ret
這適用於除乘法之外的所有運算。 例如,調用calc 100 x 10
會產生語法錯誤。 我嘗試了不同的組合,但似乎無法找到將\\*
分配給op
的正確方法。 正確的做法是什么?
a)腳本在新的 shell中運行。 cd
不適用於外部。 嘗試使用shell別名而不是此腳本。
b)引用參數的方式不同,尤其是在expr
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.