日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Shell编程中Shift的用法(转)

發布時間:2023/12/31 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shell编程中Shift的用法(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
位置參數可以用shift命令左移。比如shift 3表示原來的$4現在變成$1,原來的$5現在變成$2等等,原來的$1、$2、$3丟棄,$0不移動。不帶參數的shift命令相當于shift 1。 非常有用的 Unix 命令:shift。我們知道,對于位置變量或命令行參數,其個數必須是確定的,或者當 Shell 程序不知道其個數時,可以把所有參數一起賦值給變量$*。若用戶要求 Shell 在不知道位置變量個數的情況下,還能逐個的把參數一一處理,也就是在 $1 后為 $2,在 $2 后面為 $3 等。在 shift 命令執行前變量 $1 的值在 shift 命令執行后就不可用了。

示例如下:

#測試 shift 命令(x_shift.sh)
until [ $# -eq 0 ]
do
echo "第一個參數為: $1 參數個數為: $#"
shift
done
執行以上程序x_shift.sh:
$./x_shift.sh 1 2 3 4

結果顯示如下:

第一個參數為: 1 參數個數為: 4
第一個參數為: 2 參數個數為: 3
第一個參數為: 3 參數個數為: 2
第一個參數為: 4 參數個數為: 1

從上可知 shift 命令每執行一次,變量的個數($#)減一,而變量值提前一位,下面代碼用 until 和 shift 命令計算所有命令行參數的和。

#shift 上檔命令的應用(x_shift2.sh)
if [ $# -eq 0 ]
then
echo "Usage:x_shift2.sh 參數"
exit 1
fi
sum=0
until [ $# -eq 0 ]
do
sum=`expr $sum + $1`
shift
done
echo "sum is: $sum"

執行上述程序:

$x_shift2.sh 10 20 15

其顯示結果為:

45

  Shift 命令還有另外一個重要用途, Bsh 定義了9個位置變量,從 $1 到 $9,這并不意味著用戶在命令行只能使用9個參數,借助 shift 命令可以訪問多于9個的參數。

  Shift 命令一次移動參數的個數由其所帶的參數指定。例如當 shell 程序處理完前九個命令行參數后,可以使用 shift 9 命令把 $10 移到 $1。

http://www.cnblogs.com/image-eye/archive/2011/08/20/2147153.html

?

轉載于:https://www.cnblogs.com/softidea/p/5457664.html

總結

以上是生活随笔為你收集整理的Shell编程中Shift的用法(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。