Shell系列(11)- 位置参数变量(4)
作用
往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脚本中,不用双引号和加双引号时候区别的,实际工作中运用要注意!!!
Shell系列(11)- 位置参数变量(4)的更多相关文章
- shell中特殊位置参数变量
shell中特殊位置参数变量:$0.$n.$#.$*.$@ $0:获取当前执行shell脚本文件名,如果执行脚本包含路径,那么就包括脚本路径 $n:获取当前执行shell脚本的第n个参数值.n=1.. ...
- 『忘了再学』Shell基础 — 11、变量定义的规则和分类
目录 1.定义变量的规则 2.变量的分类 1.定义变量的规则 在定义变量时,有一些规则需要遵守 变量名称可以由字母.数字和下划线组成,但是不能以数字开头.如果变量名是2name则是错误的. 在Bash ...
- shell基础:位置参数变量
位置参数名称,作用不变.变得是传入参数. 抽象问题,大多为年长资格老师少数年轻老师,故而问的技术细节少,抽象理论知识多,比如什么是软件工程,问什么会有软件工程.有事注重的是品质,有的注重出身. 每种都 ...
- [Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量
--------------------------------------------------------------------------------- 变量是计算机内存的单元,其中存放的值 ...
- 『忘了再学』Shell基础 — 16、位置参数变量
目录 1.位置参数变量$n 2.位置参数变量$*和$@ 3.位置参数变量$# 位置參数变量的作用主要用于脚本的传参. 位置參数变量的名称和作用都是确定不能改变的,但是该变量的内容是可以更改的,也就是变 ...
- (转)Shell常用的特殊位置参数变量说明
Shell常用的特殊位置参数变量说明 原文:http://m.blog.itpub.net/15498/viewspace-2151142/ $0 获取当前执行的shell脚本的文件名,如果执行 ...
- 3.shell位置参数变量
当我们执行一个shell脚本时,希望可以获取命令行里的参数信息,就可以使用位置参数变量.比如 sh ./a.sh 100 200,就是一个执行shell的命令行,可以在a.sh脚本中获取到参数信息 语 ...
- Linux Shell基础 位置参数变量、预定义变量
位置参数变量 在 Linux 的命令行中,当一条命令或脚本执行时,后面可以跟多个参数,我们使用位置参数变量来表示这些参数.其中,$0 代表命令行本身,$1 代表第 1 个参数,$2 代表第 2 个参数 ...
- Linux Shell系列教程之(三)Shell变量
本文是Linux Shell系列教程的第(三)篇,更多shell教程请看:Linux Shell系列教程 Shell作为一种高级的脚本类语言,也是支持自定义变量的.今天就为大家介绍下Shell中的变量 ...
随机推荐
- 常见web中间件漏洞(五)weblogic漏洞
继续整理有关中间件漏洞思路(仅做简单思路整理,不是复现,复现请参考大佬们的长篇好文,会在文章中列举部分操作) WebLogic是Oracle公司出品的一个application server,确切的说 ...
- javascript(js)反转字符串
网上看到的都是这个写法较多: str.split('').reverse().join(''); 这里发现一个ES6的写法也可以达到同样的效果: Array.from(str).reverse().j ...
- Dos 获取网络的命令
Netsh mbn 命令 https://docs.microsoft.com/zh-cn/windows-server/networking/technologies/netsh/netsh-mbn ...
- WPF 中的 Command 命令
<Window x:Class="CommandDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx ...
- java基础路线与详细知识点
点击下方打开文件查看 还在持续更新中.....
- idea项目在maven projects中显示灰色的解决办法。建新建module src变成标准的文件夹
在使用idea的过程中,有时会遇到其中一个maven模块变成灰色(可以通过view - tool windows -> maven projects 现实),如下所示: 造成这个的原因可能是忽略 ...
- Docker容器 关于镜像构建的安全问题
写在前面 确保容器中服务与应用安全是容器化演进的关键点.容器安全涉及到应用开发与维护的整个生命周期,本文主要从镜像构建的视角来看docker容器的一些安全问题及应对措施. 一.权限管理 1.避免以容器 ...
- Ubuntu中添加desktop entry
创建desktop文件 gedit my_app.desktop 添加文件内容,在启动时,选择加载的bashrc文件,用于初始化,这样可以用不同的desktop entry启动不同的环境,提高打开环境 ...
- uniapp 设置背景图片
uniapp 由于其特殊机制,导致了背景图片不能引用本地图片.只能通过 转成 base64 来进行设置 附上链接:https://oktools.net/image2base64 图片转成base64 ...
- 免费 CDN 玩法 —— 将整个网站打包成一个图片文件
资源合并 前端开发者都知道,过多的请求对性能影响很大.而且有些 CDN 不仅按流量收费,请求数也收费,如果网页里有大量小文件,显然不划算. 为此不少开发者将零碎的小文件进行合并优化,例如 JS/CSS ...