CSH如果声明错字

时间:2014-12-18 03:08:46

标签: csh

我似乎无法通过一个简单的csh if语句找出拼写错误的位置。

 #!/bin/csh

 # Make sure the file is not too small
 set min_size = "250"
 set compfile_size = `wc -c $1_compile`
 echo $compfile_size
 echo $min_size
 if ( $compfile_size <= $min_size ) then
   rm $1_compfile
   echo "Comp File too small: $compfile_size" ; exit 1
 endif

使用echo $compfile_size,我知道它在那里,文件的大小是多少。当我运行脚本时,我回来了:

if: Expression Syntax.

1 个答案:

答案 0 :(得分:1)

我认为你的问题是:

wc -c $1_compile

输出:

42 blah_compile

这显然不是一个数字。

所以你需要做的就是获得42部分,例如:

wc -c a | awk '{print $1}'

我在这里使用了awk而不是更简单的cut,因为wc的输出会略有不同,具体取决于您的系统(GNU wc输出,如上所示,但是BSD wc在行的开头放置了5个空格。)