shell参考

常用关系运算符

-eq(=)

 

-ne(!=)

 

-gt(>)

 

-lt(<)

 

-ge(>=)

 

-le(<=)

 

-n不为空

 

-z为空

 

-f判断文件是否存在

 

-r 判断文件或目录是否有读权限

-w 判断文件或目录是否有写权限

-x 判断文件或目录是否有执行权限

 

-d 判断目录是否存在


常用命令

0:标准输入

1:标准输出

2:标准出错

 

2>&1 将标准出错重定向到标准输出

> /dev/null stdout送到/dev/null里面,即不打印

 

return 0 正确返回

return错误返回

 

$? 保存上一条命令的执行状态,0表示命令执行成功,1表示命令执行失败

 

echo ${str_UserName_Tmp}| awk -F "\"" '{print $4}'

将str_UserName_Tmp中的内容以"分隔,取第四个

 

${0}$0表示脚本名称或函数名称

${1}$1表示脚本名称或函数的第一个参数

依此类推,支持0~910个位置参数

 

脚本名称叫test.sh入参三个: 1 2 3

运行test.sh 1 2 3

$*"1 2 3"(一起被引号包住)

$@"1""2" "3"(分别被包住)

$#3(参数数量)


语法: basename目录/文件名.后缀 [后缀]

描述: 从给定的包含绝对路径的文件名中去除左边目录部分,返回剩下的 文件名.后缀 或者同时去除文件的后缀名,返回文件名(需指定[后缀]参数)

例:

(1)#basename /usr/local/share/doc/foo/foo.txt

执行结果foo.txt

(2)#basename /usr/local/share/doc/foo/foo.txt .txt

执行结果foo


语法:dirname目录/文件名.后缀

描述:从给定的包含绝对路径的文件名中去除 文件名.后缀,然后返回剩下的路径(目录部分)

例:

(1)#dirname /usr/home/drobbins

执行结果/usr/home

(2)#dirname /boot/grub/grub.conf

执行结果/boot/grub


set-x/sh -x  -x调试用,把脚本中每条命令的执行情况打印出来

cut-d'/' -f4以'/'为分隔符,第四个域的内容

 

echo "aa bb cc" | awk -F '{print $1}' 结果就是aa,意思是把字符串按空格分割,取第一个


typeset的使用

http://blog.csdn.net/zhao8899/article/details/5366752


awk '{print $2}' $fileName

一行一行的读取指定的文件,以空格作为分隔符,打印第二个字段

//关闭当前进程打开的socket
INT closesocket(pid_t nPid)
{
    CHAR szFilterCMD[256] = {0};
    snprintf(szFilterCMD, 256,"tree /proc/%d/fd | grep socket | grep -v grep | gawk '{print $2}'", nPid);
    szFilterCMD[255] = 0;

    FILE *pipeCMD = popen(szFilterCMD, "r");
    if ( NULL == pipeCMD)
    {
        return (-1);
    }

    #ifndef MAX_LINE
    #define MAX_LINE 1024
    #endif

    while(TRUE)
    {
        CHAR szLine[MAX_LINE] = {0}; 
        if(0 == fgets(szLine,MAX_LINE, pipeCMD))
        {
            break;
        }
        szLine[MAX_LINE - 1] = 0;

        
        close(atoi(szLine));
    }
    if(-1 == pclose(pipeCMD))
    {
        return (-1);
    }
    return 0;
}

其他

1.引号的使用

单引号:所转移符全部关闭完整反应括号内容
双引号:部转义符关闭某些则保留(:$ )
反引号:反引号内作系统命令并执行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值