KSH的部分命令参考
2009-04-06 17:56
417 查看
# - 为注释
$ - 引用变量
$0...$9 - ShellScript 的参数
$# - 参数的个数
$$ - Process ID, 取自己的进程号
$? - Shell CMD 执行完成的退出状态
$*和$@ - 参数本身的列表,在传递当前参数给调用函数的时候,特别有用。
$() - 执行Shell命令 等同于 ``
; 分割语句, For example:
if condition; then
elif condition; then
else
fi
sh -x scriptname 调试shell
文件判断
-d file 文件是目录吗?
-f file 文件是规则文件吗?
-r file 运行脚本的用户是否有读权限
-w file 运行脚本的用户是否有写权限
-x file 运行脚本的用户是否有执行权限
-s file 文件的长度是否大于0
条件运算
-a : 与运算
-0 : 或运算
! : 非运算
字符串运算
-n string - 如果string 有值(不为空), 返回true
-z string - 如果string没有值(为空), 返回True
string1 = string2 - 两个string相同, 返回True
string1 != string2 - 两个string不相同, 返回True
整数运算
int1 -eq int2 等于
int1 -ne int2 不等于
int1 -gt int2 大于
int1 -ge int2 大于等于
int1 -lt int2 小于
int1 -le int2 小于等于
算术执行
expr 5 + 4
expr 5 - 4
expr 5 /* 4
expr 5 / 4
expr 5 % 4
字符串的替换模式
${parameter} 使用例子path : /tmp/${file}_text.
${parameter:-word} 参数变量存在,返回参数值,参数不存在,返回word
${parameter:=word} 参数变量存在,返回参数值,参数不存在,返回word,并且设置参数值为word.
${parameter:?word} 参数变量存在, 输出参数值, 否则, 输出word;如果word也没有,输出标准错误
${parameter:+word} 参数变量存在,输出word, 否则, 不输出;
${parameter#pattern} 移去第一个相匹配pattern
${parameter##pattern} 移去所有相匹配pattern
${parameter%pattern} 和#的方向相反 (从右到左)
${parameter%%pattern} 和##的方向相反(从右到左)
例子:
${parameter#*/} 移去第一个"/"前的所有的字符 包括"/"
${parameter##*/} 移去最后一个"/"前的所有的字符 包括"/"
${parameter%*/} 和#的方向相反 (从右到左)
${parameter%%*/} 和##的方向相反(从右到左)
$ - 引用变量
$0...$9 - ShellScript 的参数
$# - 参数的个数
$$ - Process ID, 取自己的进程号
$? - Shell CMD 执行完成的退出状态
$*和$@ - 参数本身的列表,在传递当前参数给调用函数的时候,特别有用。
$() - 执行Shell命令 等同于 ``
; 分割语句, For example:
if condition; then
elif condition; then
else
fi
sh -x scriptname 调试shell
文件判断
-d file 文件是目录吗?
-f file 文件是规则文件吗?
-r file 运行脚本的用户是否有读权限
-w file 运行脚本的用户是否有写权限
-x file 运行脚本的用户是否有执行权限
-s file 文件的长度是否大于0
条件运算
-a : 与运算
-0 : 或运算
! : 非运算
字符串运算
-n string - 如果string 有值(不为空), 返回true
-z string - 如果string没有值(为空), 返回True
string1 = string2 - 两个string相同, 返回True
string1 != string2 - 两个string不相同, 返回True
整数运算
int1 -eq int2 等于
int1 -ne int2 不等于
int1 -gt int2 大于
int1 -ge int2 大于等于
int1 -lt int2 小于
int1 -le int2 小于等于
算术执行
expr 5 + 4
expr 5 - 4
expr 5 /* 4
expr 5 / 4
expr 5 % 4
字符串的替换模式
${parameter} 使用例子path : /tmp/${file}_text.
${parameter:-word} 参数变量存在,返回参数值,参数不存在,返回word
${parameter:=word} 参数变量存在,返回参数值,参数不存在,返回word,并且设置参数值为word.
${parameter:?word} 参数变量存在, 输出参数值, 否则, 输出word;如果word也没有,输出标准错误
${parameter:+word} 参数变量存在,输出word, 否则, 不输出;
${parameter#pattern} 移去第一个相匹配pattern
${parameter##pattern} 移去所有相匹配pattern
${parameter%pattern} 和#的方向相反 (从右到左)
${parameter%%pattern} 和##的方向相反(从右到左)
例子:
${parameter#*/} 移去第一个"/"前的所有的字符 包括"/"
${parameter##*/} 移去最后一个"/"前的所有的字符 包括"/"
${parameter%*/} 和#的方向相反 (从右到左)
${parameter%%*/} 和##的方向相反(从右到左)
相关文章推荐
- Redis命令参考(Commands Reference)中文翻译【Key部分】
- git部分常用命令
- 自己参考的常用命令
- Git命令参考手册(文本版)
- JDBC修改数据(部分代码参考查询部分)
- linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结 详细出处参考:http://www.jb51.net/LINUXjishu/43356.html
- windows WMIC命令参考
- DOS命令参考-SET
- ARX合并多线段(部分内容参考其他人)
- Redis 命令参考
- oracle 逻辑备份命令EXP/IMP参数参考手册
- oracle创建删除用户命令和部分表空间操作
- Emacs命令快速参考!!
- docker部分命令
- liunx 下部分压缩解压命令介绍
- linux部分文件命令练习
- Linux部分命令使用说明
- Linux ln命令 - 建立文件/目录链接(只看红色部分)
- 一份快速实用的 tcpdump 命令参考手册
- Windows下使用grep命令(以及其它部分Linux命令)