KSH的部分命令参考

来源:互联网 发布:手机下载js插件怎么用 编辑:程序博客网 时间:2024/05/16 06:26

#  -  为注释

$   - 引用变量

$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%%*/} 和##的方向相反(从右到左)

 

 

原创粉丝点击