【Shell】特殊变量
1. $? 表示上一个命令退出的状态
#正确命令的退出状态一般为“0”,不正确的命令会是一个不为“0”的数字
#输入一个正确的ls命令
[root@master ~]# ls
[root@master ~]# echo $?
0#输入一个错误命令
[root@master ~]# l0
-bash: l0: command not found
[root@master ~]# echo $?
127
2. $$ 表示当前进程编号
[root@master ~]# echo $$
29137
3. $0 表示当前脚本名称
#创建test01.sh脚本
[root@master ~]# vi test01.sh
echo $0[root@master ~]# chmod 777 test01.sh #运行脚本后会显示脚本名称
[root@master ~]# ./test01.sh
./test01.sh
4. $n 表示n位置的输入参数(n代表数字,n>=1)
[root@master ~]# vi test01.sh
echo "parameter01:"$1
echo "parameter02:"$2[root@master ~]# ./test01.sh apple banana
parameter01:apple
parameter02:banana
5. $# 表示参数的个数,常用于循环
此特殊变量不常用,在此不做演示
6. $*和$@ 都表示参数列表
在脚本中使用echo输出$*和$@,两变量的输出结果没有区别;
区别在于当两变量使用双引号引起来的时候,$*会以“$1$2$3...”格式输出,$@则会分开输出变量
[root@master ~]# vi test.sh
echo '直接使用$*:'$*
echo '直接使用$@:'$@echo 'for循环中使用$*:'
for p in $*
do
echo $p
doneecho 'for循环中使用$@:'
for p in $@
do
echo $p
doneecho 'for循环中使用双引号的$*:'
for p in "$*"
do
echo $p
doneecho 'for循环中使用双引号的$@:'
for p in "$@"
do
echo $p
done[root@master ~]# ./test.sh apple banana
直接使用$*:apple banana
直接使用$@:apple banana
for循环中使用$*:
apple
banana
for循环中使用$@:
apple
banana
for循环中使用双引号的$*:
apple banana
for循环中使用双引号的$@:
apple
banana
【Shell】特殊变量相关推荐
- 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和普通变量之完全解读...
2015-05-08 00:15 3896人阅读 评论(10) 收藏 举报 本文章已收录于: 分类: 软件开发进阶(419) 作者同类文章X Unix/Linux杂项(118) 作者同类文章X 版权声 ...
- shell中变量的替换
shell中变量的替换 Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换 条件放在{}中. 1.${value:-word} 当变量未定义或者值为空时,返回值为word ...
- 在shell中变量的赋值有五种方法
在shell中变量的赋值有五种 :使用 read 命令,直接赋值,使用命令行参数,使用命令行的输出结果,从文件读取 1. 直接赋值,格式为:变量名 = 变量值 2.Read 命令是系统内置命令,语法格 ...
- Shell环境变量以及set,env,export的区别
原文连接:http://www.linuxidc.com/Linux/2011-08/40478.htm 一.shell环境变量的分类以及set env export的区别: set:显示(设置)sh ...
- shell grep 变量_Shell应用:巧用xargs 轻松实现上万文件的筛选压缩
背景 Linux 下某个目录下有小文件好几万个,命名规则按日期每小时 N 个,想要过滤出指定日期的文件并添加到压缩文件中,记录下脚本化的过程如下. 正则过滤存在的问题 首先,直接进入该目录,由于文件数 ...
- linux crontab环境变量,Linux下crontab内环境变量与Shell环境变量的关系【转】
crontab,总是不会缺省的从用户profile文件中读取环境变量参数 经常导致在手工执行某个脚本时是成功的,但是到crontab中试图执行时就会报错. 解决办法如下: 方法一:在shell文件中获 ...
- linux shell只读变量、删除变量
linux shell只读变量.删除变量
- linux shell 变量 管道,linux下shell,变量,管道,重定向等基础知识及技巧
知识点如下: 1,关于shell编程中的变量,shell编程中的变量分为4种 本地变量:只对本系统本用户自己的shell有用 环境变量:对本系统的所有shell都有用 用export来声明变量 例 ...
- linux系统默认的环境变量path,Linux编程 12 (默认shell环境变量, PATH变量重要讲解)...
一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash shell支持的Bourne变量 Bo ...
- shell 编程 变量
转自:http://blog.csdn.net/qq504196282/article/details/52994249 shell之变量和引用 分类:SHELL编程基础 (470) (0) 举报 ...
最新文章
- crontab工具介绍
- Lua5.3手册标准库拾遗
- 约瑟夫环递推公式的由来(约瑟夫环公式法)
- c#滚动条创建实例,多线程
- Codeforces Round #700 (Div. 2) D1 D2. Painting the Array 思维
- [css] 如何让IE6支持min-width和max-width?
- java学习(4):第一个java程序
- 《平凡的世界》(书评)
- elasticsearch安装部署
- SQL使用函数处理数据
- 清除input numer 点击样式
- Charles抓包遇到Not allowed POST https://xxxxxxxxxxx/xxxxxxxxxx connection dropped
- 为什么linux虚拟机文件78g,linux 磁盘空间被占满但找不到目标文件的问题处理 lsof命令...
- 读取groundtruth_rect.txt并转为数组
- 自贸港有志青年,捂碳星球旧衣回收项目,成功引起团中央的重视
- 在职场需看懂的几种表现
- 高效学习方法和工具推荐,让你事半功倍!
- 前端之变(四):进击的前端
- 华为鸿蒙旧手机,华为鸿蒙出世,是换汤不换药,照旧国产利用系统春天将至?...
- ./和../以及/之间的区别
热门文章
- c++ qml 数组_【QML与C++混合编程】用QVariantList传递数组类型成员
- Flex3 DataGrid拖拽到ClumnChart动态显示图表
- python 网络维护_python学习之网络基础
- kali如何取得超级用户权限_微商如何取得好的口碑?好的口碑等于信任微商如何提高用户信任?...
- 阿里Java开发规约笔记
- inner/left/right/full join on
- Jos pipe实现解析
- 【Java每日一题】20170110
- 图像处理 - 滤波器 Filter
- D7控件\dw_cd_VirtualTreeview_v4.5.2\Demos\Advanced---TVirtualStringTree用法