String 基本语法错误-KSH
我已经调试这一行有一段时间了,我相信它很简单:String 基本语法错误-KSH,string,syntax,ksh,String,Syntax,Ksh,我已经调试这一行有一段时间了,我相信它很简单: 370 #Loop through the file looking for any non-required lines 371 { while read myline;do 372 if [[ $myline != "WARN0; 300086; prod_file_stat; Can't find EBCDIC product for PRODUCT_FILE_STATUS;for ASCII 10288" && $mylin
370 #Loop through the file looking for any non-required lines
371 { while read myline;do
372 if [[ $myline != "WARN0; 300086; prod_file_stat; Can't find EBCDIC product for PRODUCT_FILE_STATUS;for ASCII 10288" && $myline != "WARN0; 300086; prod_file_stat; Can't find EBCDIC product for PRODUCT_FILE_STATUS;for ASCII 10284" ]]; then
373 echo "ERR: file contains unacceptable errors or warnings! Please double check!"
374 err=1
375 fi
我得到:
check[50]: syntax error at line 373 : `10284" ]]; then
echo "ERR:' unexpected
这与字符串中的空格有关吗,还是说这是一条红鲱鱼?这是一个KSH脚本。错误提示引号不匹配。我在你发布的行中没有看到任何内容,我怀疑问题是从脚本的前面开始的。请注意行号是错误的--“10284”在372上,但错误信息是373。请引用您的变量
“$myline”
为了清晰起见,我对它进行了编辑,并将在您在ksh-x
下运行的varsHave上使用引号进行尝试?为什么不呢?在大多数Unix shell中都有三个独立的调试工具,至少是从Bourne shell派生出来的(所以POSIX shell;我不确定C shell)。它们是-x
(执行时跟踪)、-v
(读取脚本时打印)和-n
(不实际执行)Xsh-nv new script.sh
将在不执行任何操作的情况下执行语法检查,并且输出可能会帮助您识别某些块未正确完成的“阻塞错误”(引号或结束关键字等)。将-n
和-x
组合在一起是没有意义的。