簡體   English   中英

在Shell腳本中更改目錄,並使用expr

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM