Bash中的无条件do-done块

Dav*_*gal 1 bash shell

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,但只输出该块的输出; 脚本的其余部分由我的脚本进行实际处理.

只是好奇.

cho*_*oba 5

使用花括号来分隔块:

{
    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)