Нет способа пройтись по сценарию, чтобы увидеть, как он будет выполняться без этого. В вашем примере нет if
операторов или циклов. Но в реальных сценариях часто встречается много условных операторов. Какая ветвь будет получена, часто зависит от того, что произошло, когда оболочка выполнила предыдущую команду. Если она не запускает команду, оболочка не может узнать, какой вывод она сгенерировала или какой код возврата был бы, от чего могла бы зависеть следующая условная ветвь или оператор присваивания.
Если дело в том, что вы хотите изучить скрипт и знать, что он делает, прежде чем запускать его, это неплохая идея. Но на самом деле, лучший способ сделать это - просто просмотреть файл с помощью less
или vi
или что-то подобное.
добавленной
Если вы разрабатываете сценарий и хотите в первый раз пройтись по нему, тестируя логику, но на самом деле не причиняя вреда, если у вас есть ошибка, решение, которое я часто могу использовать, заключается в изменении только заявления, которые могут нанести какой-либо ущерб, вставив echo
на фронт.
Это часто работает в типичных реальных сценариях, потому что (а) генерирование списков элементов, по которым вы будете выполнять итерацию, или значение, для которого вы устанавливаете переменную, часто можно генерировать без изменения файловой системы, и (б) обычно достаточно Предположим, что если вы запустили команду, она будет успешной.