if:表达式语法

avi*_*ash 4 linux shell shell-script

我正在尝试在 Linux 中执行以下命令。我收到错误“如果:表达式语法”。

$ ssh insite@3.7.25.37 "if [ -f /export/home/insite/.insiteINFO ] ; then echo "1" ; else echo "0" ; fi"
if: Expression Syntax.
Run Code Online (Sandbox Code Playgroud)

Jef*_*ler 6

如果 insite 用户的 shell 是 csh 或 tcsh,这就是你得到的结果:

$ csh
$ if [ -f /export/home/insite/.insiteINFO ] ; then echo "1" ; else echo "0" ; fi
if: Expression Syntax.
then: Command not found.
else?
Run Code Online (Sandbox Code Playgroud)

尝试将测试包装在 /bin/sh 中:

$ /bin/sh -c 'if [ -f /export/home/insite/.insiteINFO ] ; then echo "1" ; else echo "0" ; fi'
0
Run Code Online (Sandbox Code Playgroud)