#bash
#bash
Вопрос:
При записи #!/bin/bash -x
в первой строке файла bash (например test.sh ), я ожидаю увидеть некоторую информацию о выполнении, но ничего не получаю… Более того, когда я использую команду bash -x test.sh
для запуска файла bash, он покажет информацию. Любая помощь в том, что происходит?
Большое спасибо!
Комментарии:
1. Как вы запускаете скрипт, если вы не используете
bash -x test.sh
? Используете ли выbash test.sh
, или./test.sh
?2. Да, и первый ответ точно объясняет причину.
Ответ №1:
Чтобы включить отладку в вашем скрипте, вам нужно будет использовать set -x и так:
#!/bin/bash
set -x
.......
Комментарии:
1. Оказывается, что «#!/bin/bash -x » также работает. Я попробовал совет другого парня и добился успеха. Спасибо!
Ответ №2:
Ошибка применяется только при непосредственном выполнении файла:
myfile
./myfile
/path/to/myfile
Если вы вместо этого запустите интерпретатор, вместо него будет использоваться этот интерпретатор, независимо от того, корректен он или нет и совместим со сценарием. Поэтому рекомендуется избегать любого из:
bash myfile
sh myfile