Я хотел бы знать, какая разница между двумя приведенными ниже командами?Понимание использования подстановки команд в bash
ubuntu:~/bin$ (ls -A1 /home/ | wc -l)
1
ubuntu:~/bin$ $(ls -A1 /home/ | wc -l)
1: command not found
Если я ставлю dir_count=(ls -A1 /home/ | wc -l)
в сценарии я получаю следующее сообщение об ошибке.
./two_args: line 24: syntax error near unexpected token `|'
./two_args: line 24: `dir_1_count=(ls -A1 "$dir_1" | wc -l)'
где в следующих работах:
dir_count=$(ls -A1 /home/ | wc -l)
Вы определяете переменную с помощью команды 'var = $ (command)'. Поэтому вам нужно использовать 'dir_count = $ (ls -A1/home/| wc -l)'. Независимо от того, является ли это скриптом или консолью. – fedorqui