Я читаю библиотеку синтаксического анализа bash, чтобы лучше синтаксис bash.Что означает «x [y] = ([z] = w)» означает в bash?
С помощью библиотеки, каким-то образом я получаю сценарий, как:
x[y]=([z]=w) ls > log
Я думаю, что х [у] здесь является операция массива. Тогда что означает «([z] = w)» означает?
Да, я не понял, что это действительно не было, пока я не запускать саму присвойте часть. Исходная строка не даст сообщение об ошибке. – Magicloud
, когда присваивание выполняется встроенным с помощью команды, присваивание действует только во время выполнения строки. если вы запустите 'a = 1 bash', тогда' echo $ a' вы получите 1 в новой оболочке bash, но как только вы выйдете из новой оболочки, вы увидите, что '$ a' не будет иметь значения. Назначение в этом коде (действительное или нет) доступно только внутри ls, но не вне его. – alvits