給shell腳本傳參
⑴ 如何給shell腳本傳參數
調用shell腳本時,後面接參數即可,例如
./test.sh arg1 arg2 arg3 .... 即表示傳入參數arg1, arg2 ,arg3
在test.sh中
使用$1, $2 ,$3 分別表示接收到的參數arg1, arg2, arg3
注意,如果參數中包含空格的話,整個參數要用引號括起來,避免被分割成兩個參數
⑵ Shell腳本函數的定義和傳參
linux shell 可以用戶定義函數,然後在 shell 腳本中可以隨便調用。項目開發中利用 Shell 腳本可以很方便進行工程化,自動化操作。
說明:
輸出結果:
輸出結果:
輸出結果:
注意: $10 不能獲取 第十個 參數,獲取第十個參數需要 ${10} 。當 n>=10 時,需要使用 ${n} 來獲取參數。
輸出結果:
歡迎訪問: 個人博客地址
⑶ 如何給shell腳本傳參數
給腳本傳遞參數和給系統命令(如解壓縮後面的參數、ls後面的參數等)傳遞參數一樣,主要難點是在shell腳本中如何獲得給它的參數,如何對參數的輸入進行驗證。
一般用幾個變數獲得參數,$0是腳本的名稱,$1是第一個參數,$2是第二個參數……
還有經常用到Shift命令,……可以根據需要,網路搜索進行學習。
⑷ shell腳本如何傳遞給子腳本命令行參數
shell腳本如何傳遞給子腳本命令行參數
shell腳本可以使用getops來分析命令行參數,現在的一個使用場景是:
例如:
父腳本:
父腳本處理一個參數-t,如果-t的值是sub,那麼調用sub.sh子腳本,然後把剩下的參數連同重寫的-t參數傳遞給子腳本sub.sh。
子腳本:
子腳本的參數處理就沒啥特殊的 了,和普通的腳本處理命令行參數一樣。
運行例子:
限制:
⑸ 如何給shell腳本傳參數
方法/步驟
執行「nano test.sh」創建一個新的shell腳本。
腳本test.sh的內容如下:
#!/bin/sh
name=$1
echo "the ${name} are great man!"
給新創建的test.sh的腳本賦可執行許可權,命令為「chmod 755 test.sh」。
執行'./test.sh "xiao wang"'命令,可以看到自己編寫腳本的結果「the xiao wang are great man!」。
"name=$1"中$1為系統提供的位置參數,$0代表程序的名稱,[$1/$2/...]從1開始為傳遞的參數。
linux系統除了提供位置參數還提供內置參數,內置參數如下:
$# ----傳遞給程序的總的參數數目
$? ----上一個代碼或者shell程序在shell中退出的情況,如果正常退出則返回0,反之為非0值。
$* ----傳遞給程序的所有參數組成的字元串。
$n ----表示第幾個參數,$1 表示第一個參數,$2 表示第二個參數 ... $0 ----當前程序的名稱
$@----以"參數1" "參數2" ... 形式保存所有參數
$$ ----本程序的(進程ID號)PID
$! ----上一個命令的PID
⑹ shell 如何啟動另外一個腳本執行,並傳遞參數
子shell變數傳遞給父shell,中間可以保存個臨時文件讓父shell去讀。
下邊是一個子shell,傳遞給父shell的一個例子,僅做參考
#!/bin/bash
(
subvar="helloshell"
echo"$subvar">temp.txt
)
readpvar<temp.txt
echo$pvar
⑺ 往shell腳本中傳入參數
參數如下:
$# ----傳遞給程序的總的參數數目
$? ----上一個代碼或者shell程序在shell中退出的情況,如果正常退出則返回0,反之為非0值。
$* ----傳遞給程序的所有參數組成的字元串。
$n ----表示第幾個參數,$1 表示第一個參數,$2 表示第二個參數 ... $0 ----當前程序的名稱
$@----以"參數1" "參數2" ... 形式保存所有參數
$$ ----本程序的(進程ID號)PID
$! ----上一個命令的PID
⑻ 如何給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
現在清楚了吧。