如何在xterm启动时运行命令,即在启动xterm终端时已经执行命令?
我已经编辑了.bashrc文件,并添加了以下一行:
xterm“ls”
但是这并不起作用。
请建议我应该怎么做才能实现这一点。
谢谢。
我已经编辑了.bashrc文件,并添加了以下一行:
xterm“ls”
但是这并不起作用。
请建议我应该怎么做才能实现这一点。
谢谢。
~/.bashrc
用于交互式shell。xterm运行一个shell,因此可能会导致"不起作用"的连锁反应。
xterm程序设置了这些环境变量,对于脚本编写非常有用:XTERM_VERSION
和XTERM_SHELL
。在你的~/.bashrc
文件中,您可以使用前者只运行xterm -ls
一次:
if [[ -z "$XTERM_VERSION" ]]
then
xterm -hold -e ls &
fi
看起来您需要的是:
ls
完成时,它会防止xterm关闭。在Shell启动时展示ls
的更有用的方法是在每个启动的Shell中运行ls
(对于这种情况,您不需要运行单独的xterm
)。同样,您可以使用环境变量来实现这一点一次(以防您运行bash
来创建子shell):
if [[ -z "$XTERM_ONCE" ]]
then
export XTERM_ONCE=$(date)
ls
fi
-e /bin/bash -login
-e command [arguments]
在 rxvt 窗口中运行带有命令行参数的命令;如果命令行上没有给出 -title (-T) 或者 -n,它也会设置窗口标题和图标名称为正在执行程序文件名的基础名称。如果使用此选项,则必须将其放在命令行的最后。如果没有 -e 选项,则默认运行 SHELL 环境变量指定的程序,若没有指定则运行 sh(1)。
xterm -e /bin/sh -c "hello -g Example"
对我有用 :) - TheTechRobo the Nerd