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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

shell shift与{}_一文掌握shell脚本中shift的用法及功能

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell shift与{}_一文掌握shell脚本中shift的用法及功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

今天主要介紹下shell腳本中shift的一些用法,這個命令還是相對比較少見的。


一、shift介紹

shift命令用于對參數的移動(左移),通常用于在不知道傳入參數個數的情況下依次遍歷每個參數然后進行相應處理(常見于Linux中各種程序的啟動腳本)。

簡而言之,shift命令表示參數向左偏移,后面可跟數字(數字大小在參數個數范圍內)


二、實驗

1、依次讀取輸入的參數并打印參數個數:

#!/bin/bashwhile [ $# != 0 ];doecho "第一個參數為:$1,參數個數為:$#"shiftdone

輸出結果:

./run.sh a b c d e f

從上可知 shift(shift 1) 命令每執行一次,變量的個數($#)減一

(之前的$1變量被銷毀,之后的$2就變成了$1),而變量值提前一位。

同理,shift n后,前n位參數都會被銷毀。


2、測試shift n

#!/bin/bashecho "參數個數為:$#,其中:"for i in $(seq 1 $#)do eval j=$$i echo "第$i個參數($"$i"):$j"doneshift 3 echo "執行shift 3操作后:"echo "參數個數為:$#,其中:"for i in $(seq 1 $#)do #通過eval把i變量的值($i)作為變量j的名字 eval j=$$i echo "第$i個參數($"$i"):$j"done

輸出結果:

./shift.sh a b c d e f

后面會分享更多devops和DBA方面內容,感興趣的朋友可以關注下~

總結

以上是生活随笔為你收集整理的shell shift与{}_一文掌握shell脚本中shift的用法及功能的全部內容,希望文章能夠幫你解決所遇到的問題。

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