我在 Bash 脚本中有一段 echo
语句,我需要将其通过管道传输到 FTP 命令。我做到了,但我需要无条件地做到这一点。
所以我编写了一个虚拟的 if
语句,如下所示:
if [[ 1 -eq 1 ]]; then
echo "..."
# ...
fi | ftp -n
我只是尝试了一个没有条件的直接 do ... done
block ,但它不喜欢那样(语法错误:完成,期待换行
)。
很明显,这行得通,但是有没有一种方法可以消除 if
语句并在 Bash 中使用“匿名”或“无条件”do
block ?我必须将所有输出通过管道传输到 FTP,但只能是该 block 的输出;脚本的其余部分供我的脚本实际处理。
只是好奇。
最佳答案
使用花括号来分隔 block :
{
echo 1...
echo 2...
} | ftp -n
或者,使用 Here Doc:
cat << EOF | ftp -n
1...
2...
EOF
关于bash - Bash 中的无条件 do-done block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53110200/