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中的变量 ...
随机推荐
- nohup 启动命令
start.sh #!/bin/bash nohup $PWD/node_exporter > /dev/null 2>&1 &
- Git(9)-- 远程仓库的使用
@ 目录 1.查看远程仓库:git remote 2.添加远程仓库:git remote add 3.从远程仓库中抓取与拉取:git fetch和 git pull 4.推送到远程仓库:git pus ...
- Redis内存碎片
内存碎片大家都已经耳熟能详了.当Redis数据删除后,Redis释放的内存空间可能不是连续的,这就会带来一个问题,这些不连续的内存空间有可能处于闲置的,但是redis缺无法来保存数据,这就会减低Red ...
- 有了Swagger2,再也不用为写Api文档头疼了
1.为什么要写Api文档 现在,前后端分离的开发模式已经非常流行,后端开发工程师只负责完成后端接口,前端页面的开发和渲染完全由前端工程师完成. 问题来了,前端工程师怎么知道后端接口的具体定义呢?答案是 ...
- taro小程序展示富文本
在微信小程序下会用到wxParse这个东西来达到html转换wxml的效果, taro小程序官方也给出了示例,地址 这里封装成自己的组件: import Taro, { Component } fro ...
- 02.SpringMVC之初体验
1.创建Maven WEB项目 2.导入springmvc的jar包 <dependencies> <dependency> <groupId>org.spring ...
- Mysql 修改本地密码
第一步 update user set authentication_string=password('root') where user='root' and host='localhost'; 第 ...
- linux centos 网卡有关调试
本文章出至于设置固定IP不起作用,名称也无法修改 1.设置网卡配置文件 打开文件 vi /etc/sysconfig/network-scripts/ifcfg-enp8s0 把NAME.DEVICE ...
- mac下用clion进行sdl2游戏开发de环境搭建
1. 故事背景 想从unity转unreal了,于是要使用c++进行开发.unreal引擎那么大,每次打开,我的小本都嗡嗡嗡的,想着不如用个轻量一些的引擎先开发吧,核心代码独立出来,到时候如果真要移植 ...
- 面试必问题:JS防抖与节流
摘要:防抖与节流可谓是面试常见,其实很好理解,下面带你分分钟了解防抖与节流的基本思想与写法~ 本文分享自华为云社区<JS防抖与节流快速了解与应用>,作者:北极光之夜. . 一.速识防抖: ...