给shell脚本传参数
A. 往shell脚本中传入参数
参数如下:
$# ----传递给程序的总的参数数目
$? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ----传递给程序的所有参数组成的字符串。
$n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ... $0 ----当前程序的名称
$@----以"参数1" "参数2" ... 形式保存所有参数
$$ ----本程序的(进程ID号)PID
$! ----上一个命令的PID
B. 如何给shell脚本传参数
给脚本传递参数和给系统命令(如解压缩后面的参数、ls后面的参数等)传递参数一样,主要难点是在shell脚本中如何获得给它的参数,如何对参数的输入进行验证。
一般用几个变量获得参数,$0是脚本的名称,$1是第一个参数,$2是第二个参数……
还有经常用到Shift命令,……可以根据需要,网络搜索进行学习。
C. 如何给shell脚本传入参数小结
#!/bin/bash
echoStart...
echo第0个参数是:$0
echo共有$#个参数:
echo所有参数是:$@
forargsin$@
do
echo$args
done
echoEnd...
有这些就够你用的了。
D. 如何给shell脚本传参数
$#是传给脚本的参数个数$0是脚本本身的名字$1是传递给该shell脚本的第一个参数$2是传递给该shell脚本的第二个参数$@是传给脚本的所有参数的列表例如:#!/bin/shecho"arg_num:$#"echo"shell_name:$0"echo"first_arg:$1"echo"second_arg:$2"echo"args:$@"。
E. 如何给shell脚本传参数
调用shell脚本时,后面接参数即可,例如
./test.sh arg1 arg2 arg3 .... 即表示传入参数arg1, arg2 ,arg3
在test.sh中
使用$1, $2 ,$3 分别表示接收到的参数arg1, arg2, arg3
注意,如果参数中包含空格的话,整个参数要用引号括起来,避免被分割成两个参数
F. 如何给shell脚本传参数
脚本test.sh的内容如下:
Shell代码 收藏代码
#!/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
G. 如何给shell脚本传参数
vimtest.sh
#!/bin/bash
A=$1
B=$2
echo$A
echo$B
##执行
./test.shhinihao
##输出
hi
nihao
H. 如何给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