我echo在Bash脚本中有一个语句块,我需要管道到FTP命令.我有这个工作,但我需要无条件地做.
所以我编写了一个虚拟if语句,如下所示:
if [[ 1 -eq 1 ]]; then
echo "..."
# ...
fi | ftp -n
Run Code Online (Sandbox Code Playgroud)
我尝试了一个do ... done没有条件的直接块,但它不喜欢那个(Syntax error: got do, expecting Newline).
显然,这是有效的,但有没有办法消除if声明并do在Bash中有一个"匿名"或"无条件"的阻止?我必须将所有输出传递给FTP,但只输出该块的输出; 脚本的其余部分由我的脚本进行实际处理.
只是好奇.
使用花括号来分隔块:
{
echo 1...
echo 2...
} | ftp -n
Run Code Online (Sandbox Code Playgroud)
或者,使用Here Doc:
cat << EOF | ftp -n
1...
2...
EOF
Run Code Online (Sandbox Code Playgroud)