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个参数,这个数量足够用了。