03-shell脚本的传参方式

一、赋值传参

1,编辑一个脚本

使用脚本内部声明变量,承接外部传来的参数;

[root@gong ~]# vim t.sh

#!/bin/bash

name=$1
age=$2

echo "您的姓名是: $name"
echo "您的年龄是:$age"

2,执行脚本

[root@gong ~]# sh t.sh "心机之蛙" "18"
您的姓名是: 心机之蛙
您的年龄是:18

二、直接传参

1,编辑一个脚本

在脚本内部,直接使用外部传来的参数,不声明变量;

[root@gong ~]# vim t.sh

#!/bin/bash

echo "您的姓名是: $1"
echo "您的年龄是:$2"

2,执行脚本

得到的结果是一样的;

[root@gong ~]# sh t.sh "心机之蛙" "18"
您的姓名是: 心机之蛙
您的年龄是:18

三、控制台输入【read】

1,read概念和参数

        read控制台输入,就是通过交互的方式,与脚本进行赋值并执行;

read参数说明
-p

控制台输入时,提示的信息;

【read  -p  "提示信息内容:"   用户输入参数的承接变量名】

-t

控制台输入的时间控制,超过时间自动退出;

【read  -t 3   -p  "提示信息内容:"   用户输入参数的承接变量名 】

-s

控制台输入的时候,不显示输入内容(安全需求)

【read  -t 3  -s  -p  "提示信息内容:"   用户输入参数的承接变量名 】

2,编辑脚本

[root@gong ~]# vim read.sh

#!/bin/bash

read -t 10 -p "请输入您的姓名:" user_name
read -t 10 -s -p "请输入您的年龄:" userage
#换行
echo "" 

echo $user_name $userage

3,执行脚本

[root@gong ~]# sh read.sh 
请输入您的姓名:g
请输入您的年龄:
g 3

  • 17
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Shell脚本是一种命令行解释器,可以直接执行命令、操作文件等。在实际应用中,运行的Shell脚本往往需要传入参数来控制脚本的行为和逻辑,因此学会Shell脚本传参对于我们写出好的脚本是十分必要的。下面介绍Shell脚本传参的三种方式: 1. 位置参数传参: 通过$1、$2、$3...的变量获取传入的参数,其中$0表示脚本的名字。 例如: ``` #!/bin/bash echo "The first parameter is $1 and the second parameter is $2." ``` 执行: ``` ./test.sh hello world ``` 输出: ``` The first parameter is hello and the second parameter is world. ``` 2. 特殊变量传参Shell脚本还提供了一些特殊变量可以用来获取所传递参数的信息,如传递参数个数的${#}、所有参数组成的${*}和所有参数组成的${@}。 例如: ``` #!/bin/bash echo "There are $# parameters." echo "All parameters are ${*}." echo "All parameters are ${@}." ``` 执行: ``` ./test.sh hello world 123 ``` 输出: ``` There are 3 parameters. All parameters are hello world 123. All parameters are hello world 123. ``` 3. 命令行传参: 在执行Shell脚本时直接通过“sh test.sh 参数1 参数2…”的方式传参。这种方式需要注意空格和引号,可以使用双引号保留参数中的空格。 例如: ``` #!/bin/bash echo "The first parameter is $1 and the second parameter is $2." ``` 执行: ``` sh test.sh "hello world" 123 ``` 输出: ``` The first parameter is hello world and the second parameter is 123. ``` 总结:以上三种方式Shell脚本传参的常用方法,通过具体的需求来决定选用哪种方式,以达到最好的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心机の之蛙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值