作用

往shell脚本里面传递参数

位置参数变量 作用
$n

n 为数字,$0 代表命令本身,$1-$9 代表第一到第九个参数,十以上的参数需要用大括号包含,如 ${10}

$*

这个变量代表命令行中所有的参数,$* 把所有的参数看成一个整体

$@

这个变量也代表命令行中所有的参数,不过 $@ 把每个参数区分对待

$#

这个变量代表命令行中所有参数的个数

例子1

#!/bin/bash
num1=$1
num2=$2
sum=$(($num1+num2))
echo $sum

备注:因为Linux参数都是字符型,所有两个参数相加得加$((参数1+参数2))

例子2

#!/bin/bash
echo "\$* 输入的参数是:$*"
echo "\$@ 输入的参数是:$@"
echo "\$# 总共输入的参数:$#"

例子3-1

作用:$* 与 $@ 的区别,$* 与 $@放在双引号“”里

代码:

#!/bin/bash
for i in "$*"
do
echo "\$* 参数是:$*"
done

for i in "$@"
do
echo "\$@ 参数是:$@"
done

例子3-2

作用:$* 与 $@ 的区别,$* 与 $@不放在双引号“”里

代码:

#!/bin/bash
for i in $*
do
echo "\$* 参数是:$*"
done

for i in $@
do
echo "\$@ 参数是:$@"
done

 总结:发现$* 与 $@在shell脚本中,不用双引号和加双引号时候区别的,实际工作中运用要注意!!!

最新文章

  1. [DJANGO] excel十几万行数据快速导入数据库研究
  2. 单核 -512M内存-2000并发正常使用
  3. 不会JavaScript能混前端么?能拿到高薪么?
  4. 将centos7打造成桌面系统
  5. Linux之ls命令
  6. 在linux下修改mysql的root密码
  7. AC日记——逃跑的拉尔夫 codevs 1026 (搜索)
  8. ubuntu 14.04链接无线路由,建立无线和有线链接
  9. uri编解码
  10. W3Cschool学习笔记——HTML基础教程
  11. Git 安装配置手册
  12. The Non-Inverting Amplifier Output Resistance by Adrian S. Nastase [转载]
  13. mgo 的 session 与连接池
  14. Java多线程安全问题
  15. Struts初始
  16. Golang构建HTTP服务(一)--- net/http库源码笔记
  17. Java线程池及其底层源码实现分析
  18. 如何使用火狐浏览器的Poster插件进行post请求
  19. 关于node.js的模块查找顺序(require.resolve())
  20. 【剑指offer】06从尾到头打印链表,C++实现

热门文章

  1. XV6学习笔记(2) :内存管理
  2. sqli-labs lesson 26-27a
  3. S3C2440—11.und异常
  4. spring security 入门级全篇代码
  5. C#中的垃圾回收
  6. 二、vue组件化开发(轻松入门vue)
  7. 使用Spark开发应用程序,并将作业提交到服务器
  8. JavaWeb学习总结—Session
  9. 解决servlet中get方式中中文乱码问题(二):装饰者模式使用
  10. 深入研究webpack之Tree Shaking相关属性sideEffects用处