2015-06-27 33 views
3

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

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

xterm的 “LS”

但是,这是行不通的。

请建议我该怎么做才能实现这一目标。

谢谢。

回答

1

按照bash手册,~/.bashrc用于交互式壳。 xterm运行一个shell,所以也许你的“不起作用”会导致一连串的xterm。

xterm程序设置这些对脚本非常有用的environment variablesXTERM_VERSIONXTERM_SHELL。在你~/.bashrc文件,你可以用前者来运行xterm -ls只有一次:

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

这似乎是你所要求的:

  • 它会运行一个xterm如果不从运行现有的xterm
  • 它防止在完成ls时关闭xterm。

显示在shell启动的ls是因为它开始在每个shell运行ls更有用的似乎的方式(对于这种情况下,你不需要运行一个单独的xterm)。同样,你可以使用环境变量来做到这一点一次(如果你遇到bash做一个子shell):

if [[ -z "$XTERM_ONCE" ]] 
then 
    export XTERM_ONCE=$(date) 
    ls 
fi 
+0

xterm从2005年开始设置 - 请参阅(更新日志)[http://invisible-island.net/xterm/xterm.log.html#xterm_202] –

0

我使用此:

-e /bin/bash -login 

-e命令[参数]

运行与所述窗口的rxvt其命令行参数的命令;如果 命令行上没有给出-title(-T)和-n,则 还会将窗口标题和图标名称设置为正在执行的 程序的基本名称。如果使用此选项,它必须是 命令行中的最后一个。如果没有-e选项,那么缺省值是运行SHELL环境变量指定的 程序,否则,运行012(1)。

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

+0

,你在哪里键入此-e /斌/庆典-Login?我的意思是在哪个文件中? – user189942

+0

这些显然是'xterm'或'rxvt'调用的命令行参数。如果您没有从命令行提示符下启动'xterm'(在这种情况下,您已经在许多环境中运行'xterm'实例!),这似乎不太有用。 – tripleee