如何向shell脚本传递参数
① 如何给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
现在清楚了吧。
② 如何给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 如何启动另外一个脚本执行,并传递参数
子shell变量传递给父shell,中间可以保存个临时文件让父shell去读。
下边是一个子shell,传递给父shell的一个例子,仅做参考
#!/bin/bash
(
subvar="helloshell"
echo"$subvar">temp.txt
)
readpvar<temp.txt
echo$pvar
④ shell脚本如何传递给子脚本命令行参数
shell脚本如何传递给子脚本命令行参数
shell脚本可以使用getops来分析命令行参数,现在的一个使用场景是:
例如:
父脚本:
父脚本处理一个参数-t,如果-t的值是sub,那么调用sub.sh子脚本,然后把剩下的参数连同重写的-t参数传递给子脚本sub.sh。
子脚本:
子脚本的参数处理就没啥特殊的 了,和普通的脚本处理命令行参数一样。
运行例子:
限制:
⑤ 如何给shell脚本传参数
给脚本传递参数和给系统命令(如解压缩后面的参数、ls后面的参数等)传递参数一样,主要难点是在shell脚本中如何获得给它的参数,如何对参数的输入进行验证。
一般用几个变量获得参数,$0是脚本的名称,$1是第一个参数,$2是第二个参数……
还有经常用到Shift命令,……可以根据需要,网络搜索进行学习。
⑥ 如何给shell脚本传参数
调用shell脚本时,后面接参数即可,例如
./test.sh arg1 arg2 arg3 .... 即表示传入参数arg1, arg2 ,arg3
在test.sh中
使用$1, $2 ,$3 分别表示接收到的参数arg1, arg2, arg3
注意,如果参数中包含空格的话,整个参数要用引号括起来,避免被分割成两个参数