如何在 xterm 启动时运行命令,即当 xterm 终端启动时命令已经执行?
我已经编辑了 .bashrc 文件以添加这一行:
xterm "ls"
但这不起作用。
请建议我该怎么做才能实现这一目标。
谢谢。
根据bash手册,~/.bashrc用于交互式 shell。xterm 运行一个 shell,所以也许你的“不工作”会导致一系列 xterm。
xterm 程序设置这些对脚本编写有用的环境变量XTERM_VERSION:和XTERM_SHELL。在您的~/.bashrc文件中,您可以使用前者xterm -ls仅运行一次:
if [[ -z "$XTERM_VERSION" ]]
then
xterm -hold -e ls &
fi
Run Code Online (Sandbox Code Playgroud)
这似乎就是你所要求的:
ls完成后关闭。显示 on shell 启动的一种看似更有用的方法ls是ls在每个 shell 启动时运行(对于这种情况,您不需要运行单独的xterm)。同样,您可以使用环境变量来执行此操作一次(如果您运行bash以创建子 shell):
if [[ -z "$XTERM_ONCE" ]]
then
export XTERM_ONCE=$(date)
ls
fi
Run Code Online (Sandbox Code Playgroud)