日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

概述

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


一、shift介紹

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

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


二、實驗

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

#!/bin/bash
while [ $# != 0 ];do
echo "第一個參數為:$1,參數個數為:$#"
shift
done
一文掌握shell腳本中shift的用法及功能

 

輸出結果:

./run.sh a b c d e f
一文掌握shell腳本中shift的用法及功能

 

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

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

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


2、測試shift n

#!/bin/bash
echo "參數個數為:$#,其中:"
for i in $(seq 1 $#)
do
 eval j=$$i
 echo "第$i個參數($"$i"):$j"
done
shift 3
 
echo "執行shift 3操作后:"
echo "參數個數為:$#,其中:"
for i in $(seq 1 $#)
do
 #通過eval把i變量的值($i)作為變量j的名字
 eval j=$$i
 echo "第$i個參數($"$i"):$j"
done
一文掌握shell腳本中shift的用法及功能

 

輸出結果:

./shift.sh a b c d e f
一文掌握shell腳本中shift的用法及功能

分享到:
標簽:shell
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定