Я работаю по SSH во встроенной плате (Jetson TK1 работает под управлением Ubuntu 14.04). Я использую опцию -X, чтобы я мог использовать gedit для редактирования текстовых файлов. При выполнении из терминала gedit извергает кучу мусора на терминал. Это легко обойти, набрав
gedit [file] > /dev/null 2>&1 &
с последним амперсандом и отправив процесс в фоновый режим, чтобы я мог продолжать использовать терминал. Это утомительно печатать каждый раз, поэтому я хочу определить псевдоним:
alias gedit="gedit $@ > /dev/null 2>&1 &"
, однако это не работает. После того, как псевдоним определен (и для первоначальной попытки я определил его непосредственно в командной строке bash), при наборе
gedit [file]
Bash отвечает
-bash: [file]: command not found
и открывает gedit с помощью с текстовым файлом без названия. Удаление конечного амперсанда в определении псевдонима позволяет псевдониму открыть указанный файл, как и ожидалось, но теперь, очевидно, не отправляет gedit в фоновый режим. Что не так?
Мой ответ в большой степени основан на этом сообщении: http://ubuntuforums.org/showthread.php?t=2011495
псевдоним не работает как этот, аргументы всегда передаются в конец команды. Используя Ваш псевдоним, поскольку пример, gedit filename
на самом деле выполнит следующее:
gedit $@ > /dev/null 2>&1 & filename
вместо [1 112]
gedit filename > /dev/null 2>&1 &
, Который заставляет удар думать Вы вводящий вторую команду, названную filename
.
то, Что необходимо сделать вместо этого, создают функцию в Вашем ~/.bashrc
файл, который выполнит команду gedit:
следующий отрывок является немного измененной версией код drmrgd
function gedit-bg() {
if [ ! -n "$1" ]; then
echo "USAGE: gedit-bg <filename>";
else
( gedit "$1" > /dev/null 2>&1 & );
fi
}
, необходимо будет повторно зарегистрироваться для изменения для вступления в силу, после того как Вы делаете, можно использовать метод как так:
gedit-bg filename
Предупреждения от gedit
на сервере, который я использую для студенческих учетных записей, очень недовольны студентам. Изменение ответа Dan немного позволяет студенту все еще типу gedit
, как обычно. Я поместил это в /etc/profile.d/custom.sh
(в Centos 7, но по-видимому он будет работать в Ubuntu также, или в пользователе .profile
файл)
function gedit-bg() {
if [ ! -n "$1" ]; then
echo "USAGE: gedit <filename>";
else
( \gedit "$1" > /dev/null 2>&1 & );
fi
}
alias gedit="gedit-bg"