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

shell腳本參數

發布時間: 2022-01-08 19:45:05

linux shell腳本讀取用戶輸入的參數

$# 是傳給腳本的參數個數

$0 是腳本本身的名字
$1是傳遞給該shell腳本的第一個參數
$2是傳遞給該shell腳本的第二個參數
$@ 是傳給腳本的所有參數的列表

例如:

#!/bin/sh
echo "arg_num: $#"
echo "shell_name: $0"
echo "first_arg : $1"
echo "second_arg : $2"
echo "args : $@"

㈡ 如何給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腳本,讀入10個參數

樓上說的有點問題,只有$0~$9哦,沒有$10的。這些叫做位置參數,共10個位置參數。
$0表示腳本名稱本身,$1~$9分別表示9個參數,要想取第10個參數,必須用shift來移位。
shift (= shift 1), 即移一位。移位後$1就表示取第2個參數了。
shift 9後用$1就取到了第10個參數。

㈣ 執行SHELL腳本,傳入參數,參數應該被裡邊的sql所用,請問怎麼寫

變數在sh中用$1,$2,$3... 順序表示傳入的參數。
sql寫法:
select dept_id,dept_name from department
where dept_id=$1

㈤ shell 如何啟動另外一個腳本執行,並傳遞參數

子shell變數傳遞給父shell,中間可以保存個臨時文件讓父shell去讀。

下邊是一個子shell,傳遞給父shell的一個例子,僅做參考

#!/bin/bash

(
subvar="helloshell"
echo"$subvar">temp.txt
)

readpvar<temp.txt

echo$pvar

㈥ linux shell編程:shell 腳本參數問題!

關於參數傳遞:
假我要獲取/home某目錄text.txt文件某目錄我原先知道所需要先使用:
ls -l /home
獲取/home目錄信息
現需要ls -l /homels -l $filenamemore text.txt三命令寫同shell
該寫$filename傳遞
寫簡單程序
#!/bin/bash
i=0
while [$i]
do
echo "$i"
done

程序始報錯:
snytax error near unexpected token 'do'
並且管我寫任何內容要while控制語句報種錯誤
我程序問題linux問題

㈦ shell腳本中的$*,$@和$#

我沒用過$@,但是可以自己寫個腳本測試下。
先介紹下我知道的,如下:
位置變數 :$0,$1,$2,$3,$4,$5,$6,$7,$8,$9 $0顯示運行的腳本,$1...顯示位置參數的值
預定義變數:

$# 表示位置參數的數量
$* 表示所有位置參數的內容
$? 表示命令執行後返回的狀態 (執行成功 返回0 執行不成功 返回非0)
$$ 表示當前進程的進程號 希望打開一個進程後不再打開另一個(/proc/<PID>)
$! 表示後台運行的最後一個進程號
$0 表示當前的進程名

測試腳本如下:(位置變數只輸出到$3)
[root@XP-24-35 script]#vim a.sh
#!/bin/bash
echo '$0 ==> ' $0
echo '$1 ==> ' $1
echo '$2 ==> ' $2
echo '$3 ==> ' $3
echo '$$ ==> ' $$
echo '$* ==> ' $*
echo '$@ ==> ' $@
echo '$# ==> ' $#
echo '$? ==> ' $?

執行結果1(輸入小於三個位置參數a,b)
[root@XP-24-35 script]# ./a.sh a b
$0 ==> ./a.sh
$1 ==> a
$2 ==> b
$3 ==>
$$ ==> 4847
$* ==> a b
$@ ==> a b
$# ==> 2
$? ==> 0

執行結果2(剛好輸入三個位置參數)
[root@XP-24-35 script]# ./a.sh a b c
$0 ==> ./a.sh
$1 ==> a
$2 ==> b
$3 ==> c
$$ ==> 4844
$* ==> a b c
$@ ==> a b c
$# ==> 3
$? ==> 0

執行結果3(輸入大於3個位置參數)
[root@XP-24-35 script]# ./a.sh a b c d e f
$0 ==> ./a.sh
$1 ==> a
$2 ==> b
$3 ==> c
$$ ==> 4852
$* ==> a b c d e f
$@ ==> a b c d e f
$# ==> 6
$? ==> 0

實驗結果說明一切,忘採納,謝謝。

㈧ shell 腳本參數 路徑怎麼設置

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

㈨ linux shell腳本調用參數傳遞

三個選擇:
1)把參數寫進腳本,運行腳本時不帶參數。
2)使用互動式方法,運行時提示讓用戶手動輸入這些信息。
3)搜索「linux 隱藏進程」。

如果你的用戶名密碼是用於登錄的話,改用密鑰好了:
http://..com/question/324853297.html

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

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

熱點內容
副武器腳本 發布:2024-09-21 05:37:30 瀏覽:126
隱藏頻道密碼是多少 發布:2024-09-21 05:32:21 瀏覽:121
觸動精靈腳本製作教程 發布:2024-09-21 05:13:14 瀏覽:399
自己編譯autojs 發布:2024-09-21 05:09:40 瀏覽:358
我的世界電腦版無政府伺服器 發布:2024-09-21 04:55:36 瀏覽:836
時間伺服器和筆記本電腦同步 發布:2024-09-21 04:48:04 瀏覽:762
無許可權訪問工作組的計算機 發布:2024-09-21 04:26:31 瀏覽:476
為什麼ipad需要密碼解鎖 發布:2024-09-21 04:06:22 瀏覽:211
mariadb存儲過程 發布:2024-09-21 03:56:05 瀏覽:515
壓縮殼脫殼機 發布:2024-09-21 03:14:33 瀏覽:94