Обычно, я создам a .sh
файл в использовании touch file.sh
и затем измените сценарий с редактором в использовании sudo emacs file.sh
. Есть ли существуют способ сделать это в то же время? Я имею в виду после того, как создадут .sh
файл, затем редактор открывается прямо после.
sudo emacs file.sh
не создает файл в файловой системе (сначала).
emacs
открывается и работает над буфером, поэтому если Вы не сохраняете обычным способом как C-s
, emacs
, файл не будет сохранен в файловой системе. После вводного буфера с sudo emacs file.sh
(учитывая файл уже не существует) при закрытии буфера C-x-c
, не будет сохранен/создан файл.
Примечание, что для создания пустого файла один путь состоял бы в том, чтобы усилить перенаправление оболочки с фиктивным входом (например, true
(:
)), bash
даже поддержки пустое перенаправление:
: >file.sh
>file.sh ## In bash
Примечание, что, это усечет file.sh
, если оно уже будет существовать, для предотвращения этого, можно установить noclobber
опция, которая предотвратит усечение, если файл уже будет существовать:
set -o noclobber
Команда sudo emacs file.sh
откроет file.sh
в буфере. file.sh
будет только создан, если содержание будет сохранено с помощью C-s
, если файл уже не существует.
можно также использовать любой другой текстовый редактор как nano
, vim
или gedit
как sudo nano file.sh
.
sudo touch file.sh && sudo emacs file.sh
&&
строки команды вместе, выполняя первое и затем второе , если первая команда успешно выполняется .