Unix &引用;意外标记“fi'”附近出现语法错误&引用;

Unix &引用;意外标记“fi'”附近出现语法错误&引用;,unix,Unix,分号在if-check之后丢失了。你能试试这个吗?如果你提到它是#,那就好了/bin/bash或其他东西 echo process started file_name="sample.txt" cd /o1_appdata/home/scits/SC1E if [ -f ${file_name} ] then echo "File exists. Document file validation passed.">logfile.txt else echo "D

分号在if-check之后丢失了。你能试试这个吗?如果你提到它是
#,那就好了/bin/bash
或其他东西

echo process started  
file_name="sample.txt"  
cd /o1_appdata/home/scits/SC1E  
if [ -f ${file_name} ]  
then  
echo "File exists. Document file validation passed.">logfile.txt  
else  
echo "Document file validation failed.">>logfile.txt  
fi

这对meMy来说很好,我猜您是通过
sh
以外的其他方式调用它的。添加一个shebang。(
#!/bin/sh
)我使用/bin/dash和/bin/bash为我工作-请说明您使用的shell。您说得对@williampersell..提到#/bin/sh,代码工作正常。分号是多余的,换行符足以将命令与以下命令分开
然后
@williampersell当你不知道shell OP使用哪个时,你怎么能这么说呢?分号在任何Bourne兼容的shell中都是不必要的。
csh
系列的语法非常错误,分号是不相关的,而不是多余的。
echo process started
file_name="sample.txt"
cd /o1_appdata/home/scits/SC1E
if [ -f ${file_name} ] ;
then
echo "File exists. Document file validation passed.">logfile.txt
else
echo "Document file validation failed.">>logfile.txt
fi