给shell脚本传参
⑴ 如何给shell脚本传参数
调用shell脚本时,后面接参数即可,例如
./test.sh arg1 arg2 arg3 .... 即表示传入参数arg1, arg2 ,arg3
在test.sh中
使用$1, $2 ,$3 分别表示接收到的参数arg1, arg2, arg3
注意,如果参数中包含空格的话,整个参数要用引号括起来,避免被分割成两个参数
⑵ Shell脚本函数的定义和传参
linux shell 可以用户定义函数,然后在 shell 脚本中可以随便调用。项目开发中利用 Shell 脚本可以很方便进行工程化,自动化操作。
说明:
输出结果:
输出结果:
输出结果:
注意: $10 不能获取 第十个 参数,获取第十个参数需要 ${10} 。当 n>=10 时,需要使用 ${n} 来获取参数。
输出结果:
欢迎访问: 个人博客地址
⑶ 如何给shell脚本传参数
给脚本传递参数和给系统命令(如解压缩后面的参数、ls后面的参数等)传递参数一样,主要难点是在shell脚本中如何获得给它的参数,如何对参数的输入进行验证。
一般用几个变量获得参数,$0是脚本的名称,$1是第一个参数,$2是第二个参数……
还有经常用到Shift命令,……可以根据需要,网络搜索进行学习。
⑷ shell脚本如何传递给子脚本命令行参数
shell脚本如何传递给子脚本命令行参数
shell脚本可以使用getops来分析命令行参数,现在的一个使用场景是:
例如:
父脚本:
父脚本处理一个参数-t,如果-t的值是sub,那么调用sub.sh子脚本,然后把剩下的参数连同重写的-t参数传递给子脚本sub.sh。
子脚本:
子脚本的参数处理就没啥特殊的 了,和普通的脚本处理命令行参数一样。
运行例子:
限制:
⑸ 如何给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
⑹ shell 如何启动另外一个脚本执行,并传递参数
子shell变量传递给父shell,中间可以保存个临时文件让父shell去读。
下边是一个子shell,传递给父shell的一个例子,仅做参考
#!/bin/bash
(
subvar="helloshell"
echo"$subvar">temp.txt
)
readpvar<temp.txt
echo$pvar
⑺ 往shell脚本中传入参数
参数如下:
$# ----传递给程序的总的参数数目
$? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ----传递给程序的所有参数组成的字符串。
$n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ... $0 ----当前程序的名称
$@----以"参数1" "参数2" ... 形式保存所有参数
$$ ----本程序的(进程ID号)PID
$! ----上一个命令的PID
⑻ 如何给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
现在清楚了吧。