Bash - Строки, Команды и Escape (о, мой!)

Я трачу так много времени прямо сейчас, пытаясь понять что-то такое простое ...

псевдокод (смесь нескольких синтаксисов, извините):

cmd1 = "find /my/starting/path -type f | grep -v -f /my/exclude/files"
cmd2 = " nl -ba -s'  ' "
cmd3 = " | xargs mv -t /move/here/dir " 

echo run_command_and_return_output($cmd1$cmd2)

$cmd1$cmd3  # just this now... 

# i don't actually want a function... but the name explains what i want to do
function run_command_and_return_output(){ /* magic */ }

это работает....

FIND=$(find $LOG_DIR -type f | grep -v -f $EXCLUDE | nl -ba -s'   ')

printf "%s\n" "$FIND"

это не ...

NL="nl -ba -s'  '"
FIND=$(find $LOG_DIR -type f -mtime +$ARCH_AGE | grep -v -f $EXCLUDE | $NL)

printf "%s\n" "$FIND"

и это тоже не делает ...

NL='nl -ba -s'\''   '\'' '

это определенно работает, хотя:

find /my/starting/path -type f | grep -v -f /my/exclude/files |  nl -ba -s'  ' 

или же

FIND=$(find $LOG_DIR -type f -mtime +$ARCH_AGE | grep -v -f $EXCLUDE | nl -ba -s'  ' )

Ответы на вопрос(1)

Ваш ответ на вопрос