shell脚本-2

1.向.sh脚本内部传递参数

vim canshu.sh

写入并保存:

#!/bin/bash

echo "your shell name is $0" # $0表示文件名字

echo "canshu1 is $1" # $1表示输入的第1个参数

echo "canshu2 is $2" # $2表示输入的第2个参数

echo "canshu3 is $3" # $3表示输入的第3个参数,共能识别9个参数,最大用到$9

 

sh canshu.sh 111 222 aaa

输出:

your shell name is canshu.sh

canshu1 is 111

canshu1 is 222

canshu1 is aaa

 

2. 判断上一个命令是否正确,echo $?

ls

echo $?   #会输出0,表示上一个指令正确执行

ls adbdfdfd   #运行时报错

echo $?   #会输出一个非0值,表示上一个指令没有正确执行

3. 判断输入参数个数$#,显示输入的参数$*

新建canshu2.sh,输入并保存:

#!/bin/bash

echo "you input $# number"

echo "all the numbers are $*"

echo $?

执行:sh canshu2.sh 11 22 33 aa

则,输出为

you input 4 number

all the numbers are 11 22 33 aa

0

 

4.向.sh脚本内部传递参数之2

example1:

vim read.sh,输入:

#!/bin/bash

read -p "please input number:" -t 30 num    # -t表示等待时间单位是秒且可以省略,num表示输入的内容。

echo "you input $num"

执行bash read.sh

输出,

please input number:99

you input 99

 

example2:

vim read2.sh

输入:

#!/bin/bash

read -p "input number1: " num1

read -p "input number2: " num2

sum=$(($num1+$num2))

echo $sum

执行read2.sh

输出

input number1: 2

input number2: 4

6

 

5. 运算符+,-,\*,/,%(乘号要用反斜杠)

shell默认运算符是字符,所以对两个数字不能直接运算。

如,aa=11

bb=22

echo $aa+$bb

显示:11+22,而不是相加的值。

正确的使用方法:

方法1:declare -i dd=$aa+$bb    #declare标称数据类型,-i表示变量为int整型,因此定义整型的dd,此时才会相加

echo $dd

33

方法2:dd=$(($aa+$bb))  #$后面加双括号

方法3:dd=$(expr $aa + $bb)  #$后面一个括号表示执行命令expr;同时+号左右有空格

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值