我似乎无法用一个简单的csh语句找出错误在哪里。
#!/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.发布于 2014-12-18 08:34:44
我觉得你的问题是:
wc -c $1_compile产出:
42 blah_compile这显然不是一个数字。
因此,您需要做的就是获取42部分,例如:
wc -c a | awk '{print $1}'我在这里使用了awk,而不是更简单的cut,因为wc的输出因系统的不同而略有变化(GNU wc输出如前所述,但BSD wc在行的开头有5个空格)。
https://stackoverflow.com/questions/27538632
复制相似问题