Две команды в одной

Обычно, я создам a .sh файл в использовании touch file.sh и затем измените сценарий с редактором в использовании sudo emacs file.sh. Есть ли существуют способ сделать это в то же время? Я имею в виду после того, как создадут .sh файл, затем редактор открывается прямо после.

3
задан 23 November 2016 в 17:49

3 ответа

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
6
ответ дан 1 December 2019 в 13:05

Команда sudo emacs file.sh откроет file.sh в буфере. file.sh будет только создан, если содержание будет сохранено с помощью C-s, если файл уже не существует.

можно также использовать любой другой текстовый редактор как nano, vim или gedit как sudo nano file.sh.

3
ответ дан 1 December 2019 в 13:05

sudo touch file.sh && sudo emacs file.sh

&& строки команды вместе, выполняя первое и затем второе , если первая команда успешно выполняется .

2
ответ дан 1 December 2019 в 13:05

Другие вопросы по тегам:

Похожие вопросы: