我似乎无法通过一个简单的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.
答案 0 :(得分:1)
我认为你的问题是:
wc -c $1_compile
输出:
42 blah_compile
这显然不是一个数字。
所以你需要做的就是获得42
部分,例如:
wc -c a | awk '{print $1}'
我在这里使用了awk
而不是更简单的cut
,因为wc
的输出会略有不同,具体取决于您的系统(GNU wc
输出,如上所示,但是BSD wc
在行的开头放置了5个空格。)