美文网首页
cshell的坑

cshell的坑

作者: 嬉笑的皮皮虾 | 来源:发表于2020-11-20 16:15 被阅读0次

    1 cshell 中获取命令返回值

    在使用反引号返回值给cshell中的变量的时候,发现有一个grep命令一直不能赋值成功。最初以为是命令写法有问题。
    但是 KK1一直可以工作,KK2一直报no match。

    /tool/pandora64/bin/tcsh 
    
    set file = `ls $STEM/*_dj.log`
    echo $file
    echo $STEM
    
    set is_KK1 = `grep "when*=KK" regress1_dj.log`
    set is_KK2 = `grep "when*=KK" regress2_dj.log`
    
    echo $is_KK1
    echo $is_KK2
    

    后来发现是is_KK2 的返回值中包含 "-e", 这个好像会被默认识别为参数。
    echo $is_KK2的时候就变成: echo -e ........就会报no match.
    问题找到了 待解决中...
    解决方法,貌似不是-e的问题,

    /tool/pandora64/bin/tcsh 
    
    set file = `ls $STEM/*_dj.log`
    echo $file
    echo $STEM
    
    set is_KK1 = `grep "when*=KK" regress1_dj.log`
    set is_KK2 = `grep "when*=KK" regress2_dj.log`
    
    echo $is_KK1
    echo "字符$is_KK2"
    

    然后把 "字符$is_KK2"作为一个整体使用,暂时解决了,但是还是没有从根本上解决问题。
    上面的思路是错的,其实就是因为没有加双引号。加上双引号就好啦。

    echo "字符$is_KK2"
    

    2 cshell中带有变量的判断

    if ([$file != ""]) then
        echo "yes"
    endif
    

    3 set value = hahahah

    set value =hahahah      #少了空格,错误
    set value = hahahah     #正常
    

    相关文章

      网友评论

          本文标题:cshell的坑

          本文链接:https://www.haomeiwen.com/subject/lyodiktx.html