指令碼後面所接的變數是否能夠進行偏移 (shift) 呢?什麼是偏移啊?我們直接以底下的範例來說明好了, 用範例說明比較好解釋!
#!/bin/bash
echo "total parameter number is ==> $#"
echo "your whole parameter is ==> '$@'"
echo -e "you'll shift one num,please wait... \n"
shift
echo "total parameter number is ==> $#"
echo "your whole parameter is ==> '$@'"
echo -e "you'll shift shift 3 num,please wait... \n"
shift 3
echo "total parameter number is ==> $#"
echo "your whole parameter is ==> '$@'"
執行結果:
[oracle@sor_sys~]$sh shift.sh one two three four five six
total parameter number is ==> 6
your whole parameter is ==> 'one two three four five six'
you'll shift one num,please wait...
total parameter number is ==> 5
your whole parameter is ==> 'two three four five six'
you'll shift shift 3 num,please wait...
total parameter number is ==> 2
your whole parameter is ==> 'five six'
光看結果你就可以知道啦,那個 shift 會移動變數,而且 shift 後面可以接數字,代表拿掉最前面的幾個引數的意思。 上面的執行結果中,第一次進行 shift 後他的顯示情況是『one two three four five six』,所以就剩下五個啦!第二次直接拿掉三個,就變成『two three four five six 』啦! 這樣這個案例可以了解了嗎?理解了 shift 的功能了嗎?
shift 造成引數變數號碼偏移
指令碼後面所接的變數是否能夠進行偏移 shift 呢?什麼是偏移啊?我們直接以底下的範例來說明好了,用範例說明比較好解釋!bin bash echo total parameter number is echo your whole parameter is echo e you ll shift ...
shift移動變數
1 移動變數 指令碼 sh05.sh bin bash program program shows the effect of shift function history 2015 9 6 zengdp first release path bin sbin usr bin usr sbin us...
shell指令碼 shift引數左移
引數左移什麼意思呢?這個引數指的是在執行指令碼時,跟在指令碼名後面的引數,前面已經講過,可以使用 來獲取引數的個數,使用 來獲取所有的引數,而引數左移的含義是這樣的 有個指標指向引數列表第乙個引數,左移的意思就是每讀乙個引數,指標就指向第二個引數,就好像引數向左移動了,於是乎,這樣就可以讀取每個引數...