如何在xterm启动时运行命令?

时间:2015-06-27 12:52:13

标签: startup xterm

如何在xterm启动时运行命令,即当启动xterm终端时,该命令已经执行?

我已编辑.bashrc文件以添加此行:

xterm" ls"

但这不起作用。

请建议我该怎样做才能实现这一点。

感谢。

2 个答案:

答案 0 :(得分:1)

我用这个:

-e /bin/bash -login
  

-e command [arguments]

     

在rxvt窗口中运行命令及其命令行参数;   还将窗口标题和图标名称设置为的基本名称   如果没有给出-title(-T)和-n,则执行程序   命令行。如果使用此选项,则它必须是最后一个选项   命令行。如果没有-e选项,则默认为运行   由SHELL环境变量指定的程序,如果失败,   SH(1)。

http://linux.die.net/man/1/rxvt

答案 1 :(得分:1)

根据bash手册,~/.bashrc用于交互式shell。 xterm运行一个shell,所以也许你的"不起作用"导致一连串的xterm。

xterm程序设置了对脚本有用的environment variablesXTERM_VERSIONXTERM_SHELL。在~/.bashrc文件中,您可以使用前者仅运行一次xterm -ls

if [[ -z "$XTERM_VERSION" ]]
then
    xterm -hold -e ls &
fi

这似乎是你要求的:

  • 如果没有从现有的xterm
  • 运行,它将运行xterm
  • 它会阻止xterm在ls完成后关闭。

在shell启动时显示ls的一种更有用的方法是在每个shell启动时运行ls(对于这种情况,您不需要运行单独的{{} 1}})。同样,您可以使用环境变量执行此操作(如果您运行xterm来创建子shell):

bash