shell腳本參數最多多少個
A. Centos7 Shell腳本提示參數太多
num=後面的命令用反引號`而不是單引號'引起來
B. 請教shell腳本變數如何等於多個值
1、linux shell中的變數一般定義格式為:var=value。其中var是變數名稱,=是賦值,value是給變數賦的值。比如下面的變數定義。
1
2
a=12;
b="hello world"
2、注意變數名稱的第一個字元不可以是數字,但是可以是下劃線。如下示例則為非法的變數名。
3、要使用變數的值,在變數前面加上$符號即可。比如下面的示例:
1
2
123=123 //這是錯誤的變數名稱
_123=123//這是合法的。
C. shell 腳本參數
這些參數屬於sdlog2這個程序,要看sdlog2這個命令的幫助。
usage: sdlog2 {start|stop|status} [-r <log rate>] [-b <buffer size>] -e -a
-r Log rate in Hz, 0 means unlimited rate
-b Log buffer size in KBytes, default is 8
-e Enable logging on app start (if not, can be started by command)
-a Log only when armed (can be still overriden by command)
-t Use GPS timestamps to create folder and file names
D. 如何取得傳入shell腳本的第i個值要求i循環到幾就取第幾個參數
j=1
while[$j-lt$i]
do
shift
done
echo$1
while執行shift i-1次,最後$1就是腳本的第i個值
E. 編寫shell腳本,求所有行參數中的最大值
#!/bin/bash
echo $* | sed 's/ /\n/g' | sort -n |tail -1
F. 創建一個shell腳本,該腳本接收10個數,並顯示最大數,最小數。求高手的linuxs,在網上查的那些都執行不了!
一般shell只接受$0~$9十個位置參數,其中$0表示腳本名稱本身,也就是說只有$1~$9共9個參數。超過9個參數的話,比如你這里要10個數,需要用shift移位來獲取後面的更多參數。
#!/bin/sh
if [ $# -ne 10 ]; then
echo -e "Wrong parameters!\nYou MUST input 10 digits."
exit 1
fi
min=$1
max=$1
i=1
while [ $i -lt 10 ]
do
shift 1
let i+=1
[ $1 -lt $min ] && min=$1
[ $1 -gt $max ] && max=$1
done
echo "Min=$min"
echo "Max=$max"
exit 0
G. 編寫一個shell腳本,讀入10個參數
樓上說的有點問題,只有$0~$9哦,沒有$10的。這些叫做位置參數,共10個位置參數。
$0表示腳本名稱本身,$1~$9分別表示9個參數,要想取第10個參數,必須用shift來移位。
shift (= shift 1), 即移一位。移位後$1就表示取第2個參數了。
shift 9後用$1就取到了第10個參數。
H. 如何創建一個shell腳本檢查命令行參數個數,如果參數不是三個顯示一條錯誤信息,為三個則顯示參數
1、「shell」中有一個特殊變數「$#」:表示包含參數的個數;
2、「if [ $# -ne 3 ] ; then # 」:如果參數不為3個
3、輸入「if [ $# -ne 3 ];then echo errorelse echo "$1 $2 $3"if」
I. linux虛擬機下寫shell腳本,帶一個參數,(需要判斷參數個數)
#!/bin/bash
for arg in $*
do
if [ -x $arg ];then
$arg
else
echo "$arg file can't excute"
fi
done
J. Shell最多支持多少個參數
shell腳本支持的參數為$1...$9,一共9個參數。
一般來說一個腳本最多9個參數,這個數量足夠用了。