Использовать .sh или .bash расширение для сценариев удара?

Вы имеете копию и вставили много ненужных расшифровок стенограммы, но в Вашем первом абзаце в значительной степени говорится все это:

Когда я выполняю sudo gparted на живой ubuntu USB, я получаю ошибку ввода/вывода во время чтения на/dev/sdc.

Таким образом, у Вас есть дефектный диск. Ошибка прибывает непосредственно в /dev/sdc (нет /dev/sdc1 или /dev/sda2, и т.д....), таким образом, это относится к целому диску. Поэтому таблица разделов не имеет никакого отношения к нему.

Необходимо посмотреть на вывод dmesg или содержание /var/log/kern.log получить дополнительную информацию об ошибке ввода-вывода. Если это будет поврежденный сектор затем, то это скажет Вам, какой сектор это.

При выполнении сбойные блоки сканируют с badblocks -w /dev/sdc мог бы дать Вам интересный вывод. Это могло бы также вынудить встроенное встроенное микропрограммное обеспечение жесткого диска перераспределить поврежденные секторы от своего запасного пула сектора так, чтобы можно было продолжить использовать диск.

37
13.04.2017, 15:36
2 ответа

делает использование расширения .bash фактически вызывает Bash или это зависеть На системной конфигурации / 1-й линии Shebang.

Если вы не используете переводчика явно, то вызываемый переводчик определяется Shebang , используемый в скрипте. Если вы используете интерпретатор в частности, то интерпретатор не заботится о том, какое расширение вы даете для вашего сценария. Тем не менее, расширение существует, чтобы сделать это очень очевидно для других, какой это скрипт.

[sreeraj@server ~]$ cat ./ext.py
#!/bin/bash
echo "Hi. I am a bash script"

См., .py Расширение Расширение скрипта Bash не делает его сценарием Python.

[sreeraj@server ~]$ python ./ext.py
  File "./ext.py", line 2
    echo "Hi. I am a bash script"
                                ^
SyntaxError: invalid syntax

Это всегда Bash скрипт.

[sreeraj@server ~]$ ./ext.py
Hi. I am a bash script
20
27.01.2020, 19:36

Наимние сценария не имеет ничего общего с тем, как он работает.

Линия Shebang определяет, какой интерпретатор используется для запуска скрипта.

Я лично не волнует, если сценарий Sh, Bash, Perl, что угодно, так что я просто назовел его за то, что он делает; Я обнаружил добавление добавочного избыточности. Я сделаю Файловый ScriptName , чтобы узнать, какой файл, если я хочу знать это.

Так что, если вы хотите, чтобы ваш скрипт был запущен с Bash , используйте #! / Bin / Bash как первая строка.

24
27.01.2020, 19:36