當前位置:首頁 » 編程軟體 » shell腳本帶參數

shell腳本帶參數

發布時間: 2022-04-14 15:30:13

A. 簡述shell的參數

我們可以在執行 Shell 腳本時,向腳本傳遞參數,腳本內獲取參數的格式為:$n。n 代表一個數字,1 為執行腳本的第一個參數,2 為執行腳本的第二個參數,以此類推……

實例

以下實例我們向腳本傳遞三個參數,並分別輸出,其中 $0 為執行的文件名:

#!/bin/bash
echo "Shell 傳遞參數實例!";
echo "執行的文件名:$0";
echo "第一個參數為:$1";
echo "第二個參數為:$2";
echo "第三個參數為:$3";
為腳本設置可執行許可權,並執行腳本,輸出結果如下所示:

$ chmod +x test.sh
$ ./test.sh 1 2 3
Shell 傳遞參數實例!
執行的文件名:./test.sh
第一個參數為:1
第二個參數為:2
第三個參數為:3
另外,還有幾個特殊字元用來處理參數:

參數處理 說明
$# 傳遞到腳本的參數個數
$* 以一個單字元串顯示所有向腳本傳遞的參數。 如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數。
$$ 腳本運行的當前進程ID號
$! 後台運行的最後一個進程的ID號
$@ 與$*相同,但是使用時加引號,並在引號中返回每個參數。 如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有參數。
$- 顯示Shell使用的當前選項,與set命令功能相同。
$? 顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。
#!/bin/bash

echo "Shell 傳遞參數實例!";
echo "第一個參數為:$1";

echo "參數個數為:$#";
echo "傳遞的參數作為一個字元串顯示:$*";
執行腳本,輸出結果如下所示:

$ chmod +x test.sh
$ ./test.sh 1 2 3
Shell 傳遞參數實例!
第一個參數為:1
參數個數為:3
傳遞的參數作為一個字元串顯示:1 2 3

B. shell腳本中怎麼利用參數'

在執行腳本時,後面可以跟參數,例如
./xxx.sh
arg1
arg2
arg3
...
那麼arg1
arg2
arg3
就是傳入的參數,在xxx.sh腳本中要引用參數,則使用$1,$2,$3來引用。

C. 如何給shell腳本傳參

這里有一個簡單的參數調用的代碼,請參考
functiontest
{
#這里通過$1,$2,來使用傳遞的參數
echo'Youinputis:'$1
}

echo'=======Paramtest========'
echo'Pleaseinputparam:'
readparam
#如果有多個參數,在後面加即可。
test${param}

下面是結果:

=======Param test========

Please input param:

aaaaaaa

You input is: aaaaaaa

D. 怎麼寫一個shell腳本傳入參數

echo第1個參數為$1
echo第9個參數為$9
echo第11個參數為${11}
forpin"$@";do
echo$p
done
forp;do
echo$p
done

E. 學習寫一個帶參數執行的shell腳本,求大神指點

[root@localhost ~]# vim create.sh
#!/bin/bash
mysql -uroot -p123456 <<EOF
create database $1;
EOF
[root@localhost ~]# sh create.sh b1

[root@localhost ~]# mysql -uroot -p123456 -e "show databases;"
+--------------------+
| Database |
+--------------------+
| information_schema |
| b1 |

F. 如何給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
$


G. 往shell腳本中傳入參數

參數如下:
$# ----傳遞給程序的總的參數數目
$? ----上一個代碼或者shell程序在shell中退出的情況,如果正常退出則返回0,反之為非0值。
$* ----傳遞給程序的所有參數組成的字元串。
$n ----表示第幾個參數,$1 表示第一個參數,$2 表示第二個參數 ... $0 ----當前程序的名稱
$@----以"參數1" "參數2" ... 形式保存所有參數
$$ ----本程序的(進程ID號)PID
$! ----上一個命令的PID

H. 如何給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

熱點內容
linux的yes 發布:2025-03-16 04:38:20 瀏覽:832
誅仙腳本吧 發布:2025-03-16 04:31:00 瀏覽:37
java選擇文件 發布:2025-03-16 04:29:20 瀏覽:825
android手機號碼獲取 發布:2025-03-16 04:14:42 瀏覽:873
為什麼沒有dns伺服器可以上網 發布:2025-03-16 04:13:04 瀏覽:647
電腦快速伺服器代碼怎麼查 發布:2025-03-16 03:58:26 瀏覽:111
電腦虛榮伺服器 發布:2025-03-16 03:56:48 瀏覽:116
android游戲安裝 發布:2025-03-16 03:50:08 瀏覽:330
翻杯子演算法 發布:2025-03-16 03:34:31 瀏覽:603
ftp後台密碼怎麼設置 發布:2025-03-16 03:33:08 瀏覽:361