1

当我运行命令时

./load_test_triples.sh TMODEL/Map.ttl TMODEL Y >> load_semantic.log

我收到以下消息:

./load_test_triples.sh: line 72: =: Permission denied

它不喜欢我的脚本中的某些内容,因为如果我从第 54 行及之后取出代码,它就可以正常工作:

 12 MODEL=$2
 13 REPLACE=$3
 .
 .
 54 get_count () {
 55     sqlplus -s user/pass <<!
 56     set heading off
 57     set feedback off
 58     set pages 0
 59     select PRNCT_CHANGE
 60     FROM COUNT_STATISTICS
 61     WHERE model = '$MODEL'
 62     AND NEW_DATE = (SELECT MAX(NEW_DATE)
 63                     FROM COUNT_STATISTICS
 64                     WHERE MODEL = '$MODEL');
 65 !
 66 }
 67
 68 count=$(get_count $1)
 69
 70 echo $count   #echoes right number
 71
 72 if [ $count >= 0 ]; then
 73     echo "is greater than or equal zero"
 74 else
 75     echo "is less to zero"
 76 fi

任何人都知道可能是什么问题?

4

1 回答 1

3

test命令中,>=被解释为输出重定向到名为=. shell中没有>=运算符,但无论如何您都想使用该运算符-ge进行整数比较:

if [ "${count:-0}" -ge 0 ]; then
于 2013-07-24T14:33:20.803 回答