Вопрос по shell, bash, linux – Открытие текстового редактора по умолчанию в bash?

19

Я писал сценарий оболочки и столкнулся с проблемой. Есть ли способ открыть файл с помощью указанного текстового редактора пользователя?

@WilliamPursell Зачем кому-то делать такие вещи? Не могли бы вы дать мне сценарий, где это уместно? kraxor
@kraxor, я бы сказал, что это никогда не подходит, но некоторые люди делают сумасшедшие вещи. Для кого-то весьма обычно хотеть графический редактор, который порождает новое окно. William Pursell
Будьте осторожны: некоторые пользователи установят в EDITOR программу, которая демонизирует себя, и ваш сценарий не сможет легко дождаться их завершения. William Pursell

Ваш Ответ

3   ответа
6

Игнасио прав (хотя, возможно, отступление должно бытьed, который POSIX требует присутствия, хотя по существу он полезен только для старожилов).

Если вы думаете о графических редакторах,xdg-open file.txt это то, что вы после.

Error: User Rate Limit ExceededPOSIX2_UPEError: User Rate Limit ExceededPOSIX 2008Error: User Rate Limit ExceededThe list of utilities in the User Portability Utilities option is as follows: bg, ex, fc, fg, jobs, more, talk, vi.Error: User Rate Limit ExceededfcError: User Rate Limit ExceededviError: User Rate Limit Exceeded
Error: User Rate Limit ExceededviError: User Rate Limit ExceedededError: User Rate Limit Exceededed.
23

Выбранный пользователем редактор должен находиться в$EDITOR, но вы все равно должны выбрать вменяемый по умолчанию.

"${EDITOR:-vi}" file.txt
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded${FCEDIT:-${VISUAL:-${EDITOR:-vi}}}Error: User Rate Limit Exceeded$EDITORError: User Rate Limit ExceedededError: User Rate Limit Exceeded$FCEDITError: User Rate Limit ExceededkshError: User Rate Limit ExceededfcError: User Rate Limit Exceededbash.
Error: User Rate Limit ExceededDEFAULTEDITOR="`command -v nano >/dev/null 2>&1 && echo 'nano' || echo 'vi'`" && echo "${FCEDIT:-${VISUAL:-${EDITOR:-$DEFAULTEDITOR}}}" && "${FCEDIT:-${VISUAL:-${EDITOR:-$DEFAULTEDITOR}}}" file.txt
0

нота:xdg-open file.xml откроется в веб-браузере, скорее всего. Так что постарайтесь;

    # select your default sensible-editor from all installed editors, or not.
    select-editor
    # Open Default Text Editor
    sensible-editor file.xml

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