我创建了一个简单的 BASH 脚本,它每小时检查远程服务器上是否存在文件。直到我被要求将其移动到运行 KSH 的服务器之前,它都可以正常工作。
出错的代码部分是这个:
connect_string=$UID@$SERVER:$srcdir/$EVENTFILE
result=`sftp -b "$connect_string" 2>&1`
if [ echo "$result" | grep "not found" ]; then
echo "not found"
else
echo "found"
fi
这些是它抛出的错误:
-ksh: .[51]: [: ']' missing
grep: ]: No such file or directory
found
它仍然运行并确认我正在轮询的文件在那里,但我需要解决这个问题。我像这样更改了 if 语句
if [[ echo "$result" | grep "not found" ]]; then
但它立即失败并出现此错误
-ksh: .: syntax error: `"$result"' unexpected
我错过了什么?