Shell 传递参数 | shell 加减乘除运算 | 小白笔记 |

举报
墨理学AI 发表于 2022/01/10 22:35:59 2022/01/10
【摘要】 参考:菜鸟教程 作者:墨理三生 Shell 传递参数 | shell 加减乘除运算 传入参数获取参数个数shell 函数 + 加减乘除及求余数 传入参数 vim a...

参考:菜鸟教程
作者:墨理三生

Shell 传递参数 | shell 加减乘除运算


传入参数


vim args.sh 

  
 
  • 1
  • 代码如下:
#!/bin/bash

echo "$0"

echo "$1"

echo  $2

echo '$3'


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
chmod u+x args.sh 

./args.sh hello mo li

  
 
  • 1
  • 2
  • 3
  • 输出如下:
# 说明 "$0" 可以正确 解析 参数 ,而  ’‘ 不行

./args.sh
hello
mo
$3

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

获取参数个数



# echo "第一个参数为:$1";

# echo "参数个数为:$#";
# echo "传递的参数作为一个字符串显示:$*";

#!/bin/bash

echo "$0"

echo "$1"

echo "$#"

echo "$*"

echo "$@"

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

运行 ./args.sh hello mo li 输出如下:

./args.sh
hello
3
hello mo li
hello mo li


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

$* 与 $@ 区别:


$* 是把输入参数 合成一个 字符串
$@ 是相当于 获取 输入参数列表

  • 执行代码 at.sh
#!/bin/bash

echo "-- \$*  ---"
for i in "$*";
do
    echo $i
done

echo "-- \$@  ---"
for i in "$@";
do
	echo $i
done


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
./at.sh  mo li san sheng

# 输出如下:

-- $*  ---
mo li san sheng
-- $@  ---
mo
li
san
sheng


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

shell 函数 + 加减乘除及求余数

#!/bin/bash

funTest(){

echo '第一个方法'

read num1
echo ${num1}

read num2
echo ${num2} + ${num1}


echo $[num1 + num2]
echo $[num1 - num2]
echo $[num1 * num2]
echo $[num1 / num2]
echo $[num1 % num2]
}

funTest


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 运行效果如下:
./fun.sh 
第一个方法
10
10
3
3 + 10

# 加减乘除及求余
13
7
30
3
1


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

文章来源: positive.blog.csdn.net,作者:墨理学AI,版权归原作者所有,如需转载,请联系作者。

原文链接:positive.blog.csdn.net/article/details/114368097

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。