如何向shell腳本傳遞參數
① 如何給shell腳本傳參數
看最簡單的腳本b1.sh:
$ cat b1.sh
#!/bin/bash
echo "I am, you are"
運行b1.sh:
$ b1.sh (或者運行./b1.sh)
I am, you are
腳本b2.sh有參數$1, $2:
$ cat b2.sh
#!/bin/bash
echo "I am $1, you are $2"
運行b2.sh
$ b2.sh (或者運行./b2.sh)
I am , you are
運行帶參數的腳本b2.sh
$ b2.sh Jack Mike
I am Jack, you are Mike
現在清楚了吧。
② 如何給shell腳本傳參數
from:Linux命令行與shell腳本編程大全.第3版
向shell腳本傳遞數據的最基本方法是使用命令行參數。命令行參數允許在運行腳本時向命令行添加數據。
$ ./addem 10 30
本例向腳本addem傳遞了兩個命令行參數( 10和30)。腳本會通過特殊的變數來處理命令行參數。下面是在shell腳本中使用單個命令行參數的簡單例子。
$cattest1.sh
#!/bin/bash
#usingonecommandlineparameter
#
factorial=1
for((number=1;number<=$1;number++))
do
factorial=$[$factorial*$number]
done
echoThefactorialof$1is$factorial
$
$./test1.sh5
Thefactorialof5is120
$
③ shell 如何啟動另外一個腳本執行,並傳遞參數
子shell變數傳遞給父shell,中間可以保存個臨時文件讓父shell去讀。
下邊是一個子shell,傳遞給父shell的一個例子,僅做參考
#!/bin/bash
(
subvar="helloshell"
echo"$subvar">temp.txt
)
readpvar<temp.txt
echo$pvar
④ shell腳本如何傳遞給子腳本命令行參數
shell腳本如何傳遞給子腳本命令行參數
shell腳本可以使用getops來分析命令行參數,現在的一個使用場景是:
例如:
父腳本:
父腳本處理一個參數-t,如果-t的值是sub,那麼調用sub.sh子腳本,然後把剩下的參數連同重寫的-t參數傳遞給子腳本sub.sh。
子腳本:
子腳本的參數處理就沒啥特殊的 了,和普通的腳本處理命令行參數一樣。
運行例子:
限制:
⑤ 如何給shell腳本傳參數
給腳本傳遞參數和給系統命令(如解壓縮後面的參數、ls後面的參數等)傳遞參數一樣,主要難點是在shell腳本中如何獲得給它的參數,如何對參數的輸入進行驗證。
一般用幾個變數獲得參數,$0是腳本的名稱,$1是第一個參數,$2是第二個參數……
還有經常用到Shift命令,……可以根據需要,網路搜索進行學習。
⑥ 如何給shell腳本傳參數
調用shell腳本時,後面接參數即可,例如
./test.sh arg1 arg2 arg3 .... 即表示傳入參數arg1, arg2 ,arg3
在test.sh中
使用$1, $2 ,$3 分別表示接收到的參數arg1, arg2, arg3
注意,如果參數中包含空格的話,整個參數要用引號括起來,避免被分割成兩個參數