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