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 #正常
网友评论