如何在xterm启动时运行命令,即当启动xterm终端时,命令已经执行?
我编辑了.bashrc文件来添加这一行:
xterm“ls”
但这不起作用.
请建议我该怎么做才能实现这一目标.
谢谢.
最佳答案 根据bash手册,〜/ .bashrc用于交互式
shell. xterm运行一个shell,所以也许你的“不工作”会导致一连串的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完成时关闭.
在shell启动时显示ls的一种更有用的看似方式是在每个shell启动时运行ls(对于这种情况,你不需要运行单独的xterm).同样,您可以使用环境变量执行此操作一次(如果您运行bash以创建子shell):
if [[ -z "$XTERM_ONCE" ]]
then
export XTERM_ONCE=$(date)
ls
fi