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】特殊变量相关推荐

  1. 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和普通变量之完全解读...

    2015-05-08 00:15 3896人阅读 评论(10) 收藏 举报 本文章已收录于: 分类: 软件开发进阶(419) 作者同类文章X Unix/Linux杂项(118) 作者同类文章X 版权声 ...

  2. shell中变量的替换

    shell中变量的替换 Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换 条件放在{}中. 1.${value:-word} 当变量未定义或者值为空时,返回值为word ...

  3. 在shell中变量的赋值有五种方法

    在shell中变量的赋值有五种 :使用 read 命令,直接赋值,使用命令行参数,使用命令行的输出结果,从文件读取 1. 直接赋值,格式为:变量名 = 变量值 2.Read 命令是系统内置命令,语法格 ...

  4. Shell环境变量以及set,env,export的区别

    原文连接:http://www.linuxidc.com/Linux/2011-08/40478.htm 一.shell环境变量的分类以及set env export的区别: set:显示(设置)sh ...

  5. shell grep 变量_Shell应用:巧用xargs 轻松实现上万文件的筛选压缩

    背景 Linux 下某个目录下有小文件好几万个,命名规则按日期每小时 N 个,想要过滤出指定日期的文件并添加到压缩文件中,记录下脚本化的过程如下. 正则过滤存在的问题 首先,直接进入该目录,由于文件数 ...

  6. linux crontab环境变量,Linux下crontab内环境变量与Shell环境变量的关系【转】

    crontab,总是不会缺省的从用户profile文件中读取环境变量参数 经常导致在手工执行某个脚本时是成功的,但是到crontab中试图执行时就会报错. 解决办法如下: 方法一:在shell文件中获 ...

  7. linux shell只读变量、删除变量

    linux shell只读变量.删除变量

  8. linux shell 变量 管道,linux下shell,变量,管道,重定向等基础知识及技巧

    知识点如下: 1,关于shell编程中的变量,shell编程中的变量分为4种 本地变量:只对本系统本用户自己的shell有用 环境变量:对本系统的所有shell都有用  用export来声明变量  例 ...

  9. linux系统默认的环境变量path,Linux编程 12 (默认shell环境变量, PATH变量重要讲解)...

    一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash  shell支持的Bourne变量 Bo ...

  10. shell 编程 变量

    转自:http://blog.csdn.net/qq504196282/article/details/52994249 shell之变量和引用 分类:SHELL编程基础 (470)  (0)  举报 ...

最新文章

  1. crontab工具介绍
  2. Lua5.3手册标准库拾遗
  3. 约瑟夫环递推公式的由来(约瑟夫环公式法)
  4. c#滚动条创建实例,多线程
  5. Codeforces Round #700 (Div. 2) D1 D2. Painting the Array 思维
  6. [css] 如何让IE6支持min-width和max-width?
  7. java学习(4):第一个java程序
  8. 《平凡的世界》(书评)
  9. elasticsearch安装部署
  10. SQL使用函数处理数据
  11. 清除input numer 点击样式
  12. Charles抓包遇到Not allowed POST https://xxxxxxxxxxx/xxxxxxxxxx connection dropped
  13. 为什么linux虚拟机文件78g,linux 磁盘空间被占满但找不到目标文件的问题处理 lsof命令...
  14. 读取groundtruth_rect.txt并转为数组
  15. 自贸港有志青年,捂碳星球旧衣回收项目,成功引起团中央的重视
  16. 在职场需看懂的几种表现
  17. 高效学习方法和工具推荐,让你事半功倍!
  18. 前端之变(四):进击的前端
  19. 华为鸿蒙旧手机,华为鸿蒙出世,是换汤不换药,照旧国产利用系统春天将至?...
  20. ./和../以及/之间的区别

热门文章

  1. c++ qml 数组_【QML与C++混合编程】用QVariantList传递数组类型成员
  2. Flex3 DataGrid拖拽到ClumnChart动态显示图表
  3. python 网络维护_python学习之网络基础
  4. kali如何取得超级用户权限_微商如何取得好的口碑?好的口碑等于信任微商如何提高用户信任?...
  5. 阿里Java开发规约笔记
  6. inner/left/right/full join on
  7. Jos pipe实现解析
  8. 【Java每日一题】20170110
  9. 图像处理 - 滤波器 Filter
  10. D7控件\dw_cd_VirtualTreeview_v4.5.2\Demos\Advanced---TVirtualStringTree用法