1.Shell特殊位置变量
$0 文件名及路径
$1,$2 参数1,参数2 , 也可以用${1} 和 ${2} 来表示
$# 传递给脚本或函数的参数个数
$$ 当前Shell进程ID
$? 判断上个命令的执行成功与否,0为成功。
$@ 传递脚本或函数的所有参数
$* 传递脚本或函数的所有参数
${}
注:
1.$@和$*都是传递脚本或函数的所有参数。被双引号" "包含时,两者有区别如下
[root@web01 shell]# cat 007.sh
#!/bin/bash
for var in “$@” # 参数当做列表传给$@
do
echo "$var"
done
[root@web01 shell]# sh 007.sh feng cx xiao
feng
cx
xiao
[root@web01 shell]# cat 007.sh
#!/bin/bash
for var in "$*" # 参数当做字符串传给$*
do
echo "$var"
done
[root@web01 shell]# sh 007.sh feng cx xiao
feng cx xiao
2.$var和${var}区别
如:当你要显示变量值加随意的字符时
echo $var_AA $var会将后面的_AA也当做变量的一部分
echo ${var}_AA ${var}不会将后面的_AA当作变量的一部分
3.${@:2} 在shell脚本中代表什么意思
示例:
- #!/bin/bash
- echo ${@:2}
- variable=${@:3}
- echo $variable
运行
- ./ex.bash 1 2 3 4 5
- 2 3 4 5
- 3 4 5
获取指定位置之后的参数列表(例如ip列表),可以用来进行for循环。
1.Shell特殊位置变量的更多相关文章
- Linux Shell 05 位置变量(命令行参数)
在Linux shell 脚本中可能会用到一些命令行参数,常见如下: $0:脚本名称 $#:执行脚本时传入的参数个数,不包括脚本名称 $@:所有参数 $*:所有参数 $1...$9:第1个参数.... ...
- Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)
I:知识整理:变量.运算符.流程控制.函数.计划任务 变量 系统变量:set:显示所有变量 env:环境变量 常用系统变量: path pwd lang home his ...
- Shell环境变量与特殊变量详解
1)变量类型 1)变量可分为俩类:环境变量(全局变量),和普通变量(局部变量), 环境变量也称为全局变量,可以在创建他们的Shell及其派生出来的任意子进程Shell中使用,环境变量又可以分为自定义环 ...
- 模块一:shell 脚本基础
一.shell脚本介绍 (一)脚本案例及介绍: #!/bin/bash LOG_DIR=/var/log ROOT_UID=0 if ["$UID -ne "$ROOT_UID&q ...
- 10_Linux基础-SHELL入门1
@ 目录 10_Linux基础-SHELL入门1 一. 输入输出重定向 二. 2个特殊文件 三. here document 四. tee命令 五. 清空文件内容 六. SHELL入门 SHELL的变 ...
- linux shell 中的位置变量
对于linux shell 中的位置变量,我一直以来都是吐不出来又咽不下去,每次看到都不懂,不懂了就去百度google,看完了又忘,真是慢性咽炎啊.现在认真想想也是,其实自己一直以来都没有好好学习过, ...
- Shell 变量详解教程之位置变量与预定义变量。
Shell 变量分为3部分,分别是用户自定义变量.位置变量和预定义变量. 一. 自定义变量 那么,什么是变量呢?简单的说,就是让某一个特定字符串代表不固定的内容,用户定义的变量是最普通的Shell ...
- 小鸟初学Shell编程(八)环境变量、预定义变量与位置变量
环境变量 环境变量:每个Shell打开都可以获得到的变量. 我们知道通过export的方式打开可以让子进程读取父进程的变量的值,那怎么样才能让每一个进程都能读取到变量的值呢? 在这呢,系统有一些默认的 ...
- Linux shell case条件判断及位置变量
case语句使用于需要进行多重分支的应用情况 case分支判断结构 语法: case 变量名称 in value1) statement statemen ...
随机推荐
- shell 多行重定向方法(多重嵌套)
这里讲的是多重嵌套.没用过 EOF的朋友请参考其他基础贴 在自动化运维中,常常需要shell脚本.在自动化创建脚本时,会遇到脚本内容里有用EOF重定向到配置文件的代码. 这样就不能用EOF来创建脚本了 ...
- 每次都能让人头大的 Shader -- 从整合说起
之前也说过引擎能不能提供一个一般化的开发环境给使用者, 这样使用者只需要指定他要的开发环境, 就能用它最熟悉的方式去写Shader了. 从提供者的角度来看, 因为有太多的应用场景无法确定, 所以提供无 ...
- 使用Lambda解决_inbound_nodes错误
Keras出现了下面的错误: AttributeError: 'NoneType' object has no attribute '_inbound_nodes' 原因是使用了Keras backe ...
- Rust的Drop Trait,相当于析构代码
退出前自动执行的代码. struct CustomSmartPointer { data: String, } impl Drop for CustomSmartPointer { fn drop(& ...
- lf 前后端分离 (6) 支付
支付 import datetime from django.core.exceptions import ObjectDoesNotExist from rest_framework.views i ...
- SQLAlchemy(4)
结果查询 上节课使用query从数据库中查询到了结果,但是query返回的对象是直接可用的吗? 首先导入模块 from connect import session from user_modules ...
- 201871020225-牟星源《面向对象程序设计(java)》第6-7周学习总结
201871020225-牟星源<面向对象程序设计(java)>第6-7周学习总结 博文正文: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu- ...
- SpringBoot使用@Value来获取properties的值
今天在项目中想使用@Value来获取Springboot中properties中属性值.场景:定义了一个工具类,想要获取一些配置参数,使用了@value来获取,但是死活也获取不到.如何解决:在使用这个 ...
- zz2019年主动学习有哪些进展?答案在这三篇论文里
2019年主动学习有哪些进展?答案在这三篇论文里 目前推广应用的机器学习方法或模型主要解决分类问题,即给定一组数据(文本.图像.视频等),判断数据类别或将同类数据归类等,训练过程依赖于已标注类别的训练 ...
- 使用mytop监控mysql
mytop 是一个不错的实时查看mysql 状态的命令行工具,使用简单 安装 yum install -y mytop 环境准备 docker-compose 创建服务 version: " ...