Как я могу повернуть поведение 'gedit что-то и отрицать' в поведение по умолчанию при вызове gedit из командной строки?

Вы могли использовать run-shell опция, но критическая вещь состоит в том, чтобы разделить команды с \;

В этом случае, что-то как:

bind R source-file ~/.tmux.conf \; run-shell "echo 'Reload'"

команда оболочки оболочки выполнения
(псевдоним: выполненный)
Выполните команду оболочки в фоновом режиме, не создавая окно. После того, как это закончится, любой вывод к stdout отображен в режиме копии. Если команда не возвращает успех, статус выхода также отображен.

3
02.02.2016, 20:36
4 ответа

Это должно работать: действительно ли Вы уверены Ваш .bash_aliases читается? (Это не стандартный файл, но это могло бы быть получено Вашим ~/.bashrc. Если Вы смущены .bashrc и .bash_profile, посмотрите Различие между .bashrc и .bash_profile.)

В Вашей функции существует ошибка: это должно быть

editorz () {
  gedit "$@" & disown
}

Ваша версия не работает над именами файлов, содержащими пробелы, или окружает подстановочные знаки. function ключевое слово является дополнительным.

Можно вызвать функцию gedit (и обойдитесь без псевдонима в целом), но затем необходимо сказать оболочке, что вызов в функции к команде а не к функции:

gedit () {
  command gedit "$@" & disown
}

Обратите внимание, что при случайном запуске gedit на переднем плане (т.е. блокировка терминала) можно поместить его в фоновом режиме путем нажатия Ctrl+Z в терминале и ввода команды bg.

6
27.01.2020, 21:15

Удостоверьтесь, что function editorz() определяется перед псевдонимом.

Я попробовал Ваш подход, и он работал без проблемы.

1
27.01.2020, 21:15

Открытие gedit от папки Utilities (вместо терминала) решает проблему для меня

1
27.01.2020, 21:15

Просто добавьте следующие псевдоним:

alias gedit='gedit -b'

Опция - B означает прогон на заднем плане

-2
27.01.2020, 21:15

Теги

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