如何给shell脚本传参数

 我来答
就烦条0o
2016-07-30 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
方法/步骤

1
执行“nano test.sh”创建一个新的shell脚本。

2
脚本test.sh的内容如下:
#!/bin/sh
name=$1
echo "the ${name} are great man!"

3
给新创建的test.sh的脚本赋可执行权限,命令为“chmod 755 test.sh”。

4
执行'./test.sh "xiao wang"'命令,可以看到自己编写脚本的结果“the xiao wang are great man!”。

5
"name=$1"中$1为系统提供的位置参数,$0代表程序的名称,[$1/$2/...]从1开始为传递的参数。
6
linux系统除了提供位置参数还提供内置参数,内置参数如下: 
$# ----传递给程序的总的参数数目  
  $? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。   
$* ----传递给程序的所有参数组成的字符串。   
$n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ...   $0 ----当前程序的名称   
$@----以"参数1" "参数2" ... 形式保存所有参数   
$$ ----本程序的(进程ID号)PID   
$! ----上一个命令的PID
miniappYoh44tFFDbwZi
2016-07-30 · 请开发者输入账号签名
miniappYoh44tFFDbwZi
采纳数:14074 获赞数:18289

向TA提问 私信TA
展开全部
方法/步骤

执行“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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式