当我运行命令
时 ./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
任何人都知道可能会出现什么问题?
答案 0 :(得分:3)
在test
命令中,>=
被解释为对名为=
的文件的输出重定向。 shell中没有>=
运算符,但您仍希望使用运算符-ge
进行整数比较:
if [ "${count:-0}" -ge 0 ]; then