Uma linha longa em um único comando simples pode ser dividida ao escapar da nova linha assim:
rsync --archive --itemize-changes \
"$source" "$target"
A barra invertida deve ser o último caractere na linha.
O bit relevante do padrão POSIX:
2.2.1 Escape Character (Backslash)
A <backslash> that is not quoted shall preserve the literal value of the following character, with the exception of a <newline>. If a <newline> follows the <backslash>, the shell shall interpret this as line continuation. The <backslash> and <newline> shall be removed before splitting the input into tokens. Since the escaped <newline> is removed entirely from the input and is not replaced by any white space, it cannot serve as a token separator.
Em um único comando composto, como um pipeline ou e / ou list etc., geralmente há pontos naturais para novas linhas que não precisam ser ignoradas (como && , || e | são terminadores de comando):
[ -e "$pathname" ] &&
printf 'Removing %s\n' "$pathname" &&
rm "$pathname"
awk -f script.awk <infile |
grep -e "$pattern" |
cat header.txt - >result.txt