Shell系列(11)- 位置参数变量(4)
2024-08-30 23:44:13
作用
往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脚本中,不用双引号和加双引号时候区别的,实际工作中运用要注意!!!
最新文章
- [DJANGO] excel十几万行数据快速导入数据库研究
- 单核 -512M内存-2000并发正常使用
- 不会JavaScript能混前端么?能拿到高薪么?
- 将centos7打造成桌面系统
- Linux之ls命令
- 在linux下修改mysql的root密码
- AC日记——逃跑的拉尔夫 codevs 1026 (搜索)
- ubuntu 14.04链接无线路由,建立无线和有线链接
- uri编解码
- W3Cschool学习笔记——HTML基础教程
- Git 安装配置手册
- The Non-Inverting Amplifier Output Resistance by Adrian S. Nastase [转载]
- mgo 的 session 与连接池
- Java多线程安全问题
- Struts初始
- Golang构建HTTP服务(一)--- net/http库源码笔记
- Java线程池及其底层源码实现分析
- 如何使用火狐浏览器的Poster插件进行post请求
- 关于node.js的模块查找顺序(require.resolve())
- 【剑指offer】06从尾到头打印链表,C++实现