容易让迷惑的shell变量

分类:Shell | 作者:凹凸曼 | 发表于2011/08/02

脑袋有时候不好使!  老了!看 shell语法概要,还挺多的, 精简一下 ,方便迷惑了,查找!

容易迷惑的(摘录shell 语法)

$1-9    1-9个参数
$#    参数的数量
$@    所有参数,但是所有参数都是一个字符串
$*    所有参数,但每个参数都是一个单独元素

$$       进程ID变量. 这个$$变量保存了它所在脚本的进程ID

$!        后台进程ID值

需要注意的

;;        终止case选项.
“       命令替换. 已逐渐被$()替代,后者更灵活,如可以嵌套等
()       命令组.
{}       代码块,又被称为内部组, 这个结构事实上创建了一个匿名函数(一个没有名字的函数).
[]       条件测试.数组元素.用作正则表达式的一部分, 方括号描述一个匹配的字符范围.

-e       文件存在.
-f       表示这个文件是一个一般文件.
-d       表示这是一个目录.
-b       表示这是一个块设备.
-c       表示这是一个字符设备.
-p       这个文件是一个管道
-s       文件大小不为零.
-L       这是一个符号链接
-S       表示这是一个socket
-t       文件(描述符)被关联到一个终端设备上.
         这个测试选项一般被用来检测脚本中的stdin([ -t 0 ]) 或者stdout([ -t 1 ])是否来自于一个终端.
-r       文件是否具有可读权限(指的是正在运行这个测试命令的用户是否具有读权限)
-w       文件是否具有可写权限(指的是正在运行这个测试命令的用户是否具有写权限)
-x       文件是否具有可执行权限(指的是正在运行这个测试命令的用户是否具有可执行权限)
-g       set-group-id(sgid)标记被设置到文件或目录上
-u       set-user-id (suid)标记被设置到文件上
-k       设置粘贴位
-O       判断你是否是文件的拥有者
-G       文件的group-id是否与你的相同
-N       从文件上一次被读取到现在为止, 文件是否被修改过
!        “非” — 反转上边所有测试的结果(如果没给出条件, 那么返回真).

[[]]     测试.
(())     整数扩展.
—-运算命令—-
loop=$(((31-16)/8))
echo $loop
用$(())命令可以进行数学计算

本文出自 “凹凸曼” 博客,请务必保留此出处 http://www.apoyl.com/?p=1109

Tag:

日志信息 »

该日志于2011-08-02 12:01由 凹凸曼 发表在Shell分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

目前盖楼 (0)层:

发表评论 »

« »