Кажется, что это проблема, если разбирается в команды. Bash
ожидает, что закрывающий кронштейн будет последним аргументом и жалуется, если он не совсем «]».
bash$ [ 1 ]
bash$ [ 1 ] hi
bash: [: missing `]'
bash$ [ 1 ]hi
bash: [: missing `]'
bash$ dash
$ [ 1 ]
$ [ 1 ] hi
dash: 2: [: missing ]
$ [ 1 hi]
dash: 3: [: missing ]
$ [ 1 ]:
$ [ 1 ]hi
$
Dash
Shell Shell будет просто убедиться, что первый символ «]» и игнорирует остальные. Если «]» не является первым символом последнего аргумента, то он возвращает аналогичную ошибку как Bash
.