Согласно bash
руководства, ~/.bashrc
используется для интерактивных оболочек. xterm запускает оболочку, поэтому, возможно, ваш «не работает» вызывает цепочку xterm.
Программа xterm устанавливает эти environment variables которые полезны для скриптинга: XTERM_VERSION
и XTERM_SHELL
. В файле ~/.bashrc
, вы можете использовать бывший для запуска xterm -ls
только один раз:
if [[ -z "$XTERM_VERSION" ]]
then
xterm -hold -e ls &
fi
, который, кажется, что вы просите:
- было бы запустить Xterm, если не бежать от существующий xterm
- предотвращает закрытие xterm при выполнении
ls
.
Более полезным кажущийся способ, показывающий ls
при запуске оболочки будет работать ls
в каждой оболочке, как он запускается (для этого случая, вам не нужно запускать отдельный xterm
). Опять же, вы можете использовать переменные окружения, чтобы сделать это раз (в случае, если вы запускаете bash
сделать подоболочку):
if [[ -z "$XTERM_ONCE" ]]
then
export XTERM_ONCE=$(date)
ls
fi
xterm установил это с 2005 года - см. (Changelog) [http://invisible-island.net/xterm/xterm.log.html#xterm_202] –