LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1016|回复: 10

奇怪,高度自动化的Linux怎么会无法实现 先xterm 后ls ?

[复制链接]
发表于 2009-10-19 16:38:15 | 显示全部楼层 |阅读模式
奇怪,高度自动化的Linux怎么会无法实现这样一个非常基本的功能?要求如下:

1) 先运行xterm
2)然后在刚刚产生的xterm中运行 ls

当然实际我不会仅仅需要ls, 还有其他一些指令,如:
"cd $HOME/mybookdir", "vi mybook.txt" 等。
但是只要能运行ls, 其他的就都一样了。
在google中搜了很久,也没找到正确答案,只找到了一些‘假’的解决方案。
既没有找到简短的复合指令式的方案,也没有找到复杂的shell脚本文件方案。
我现在都开始怀疑这个简单的要求能否在Linux中真正准确实现。
希望大家讨论。

先说说我从google中找到的一些‘假’的解决方案。


  1. xterm -e ls
复制代码

这个好像执行了ls, 可是xterm窗口一闪就消失了。
  1. xterm -hold -e ls
复制代码

这个执行了ls后, xterm窗口锁定,没有prompt提示可以再在此xterm中继续工作。

  1. xterm &
  2. ls > /dev/pts/1
复制代码

这个执行了旧窗口的ls后, 将结果送到新xterm窗口,并不是在新xterm窗口的ls


  1. xterm  -e "ls && sudo su $USER"
复制代码

这个执行了ls后, 有执行了sudo su. 与我的要求区别是明显的

  1. xterm  -e "ls && bash"
复制代码

这个执行了ls后, 接着却又立即执行了 bash. 按这个思路,我是想要先执行bash 然后再ls。如下,

  1. xterm  -e "bash -c ls"
复制代码
可是这个执行了ls后, xterm窗口又是一闪就消失了。
发表于 2009-10-20 09:44:32 | 显示全部楼层
自己写一个脚本来让xterm调用不知道成不成?
[PHP]
$ xterm -e /tmp/t.sh
$ cat /tmp/t.sh
#!/bin/sh
ls|less
vim /etc/issue
cd /tmp
ls
pwd
exec /bin/sh
[/PHP]
回复 支持 反对

使用道具 举报

发表于 2009-10-20 13:15:11 | 显示全部楼层
楼主:这有何难?写个脚本,先在 .bashrc 最后一行增加 ls,然后启动 xterm,然后在此同时略作等待就把 .bashrc 最后一行删除即可。
回复 支持 反对

使用道具 举报

发表于 2009-10-20 14:07:16 | 显示全部楼层
这么难吗?一直在用 urxvt -e 的方法
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-20 15:36:09 | 显示全部楼层
Post by yetist;2038271
自己写一个脚本来让xterm调用不知道成不成?
[PHP]
$ xterm -e /tmp/t.sh
$ cat /tmp/t.sh
#!/bin/sh
ls|less
vim /etc/issue
cd /tmp
ls
pwd
exec /bin/sh
[/PHP]


这个好像不行。执行之后,xterm窗口一闪就消失了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-20 15:44:16 | 显示全部楼层
Post by poet;2038353
楼主:这有何难?写个脚本,先在 .bashrc 最后一行增加 ls,然后启动 xterm,然后在此同时略作等待就把 .bashrc 最后一行删除即可。


这个主意不错,并且在csh也可行 (说明:这个.bashrc
是可以通过命令行换成别的文件,用 --rcfile选项。而csh却不可以换,没有 --rcfile 选项)
可是总是让它不停的变来变出,感觉有点不舒服。谢谢你的这个主意。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-20 15:45:14 | 显示全部楼层
Post by whitelilis;2038375
这么难吗?一直在用 urxvt -e 的方法


这是不行的。见我的第一个例子。
回复 支持 反对

使用道具 举报

发表于 2009-10-21 10:59:13 | 显示全部楼层
Post by platane9;2038405
这是不行的。见我的第一个例子。


自从受不了 xterm 的速度,就用 mlterm, 后来发现了 urxvt 这个东东,就一直用它了,urxvt 没有这个问题,-e 一直很好用,还有 -cd。谁用谁知道,呵呵。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-21 16:55:01 | 显示全部楼层
Post by whitelilis;2038639
自从受不了 xterm 的速度,就用 mlterm, 后来发现了 urxvt 这个东东,就一直用它了,urxvt 没有这个问题,-e 一直很好用,还有 -cd。谁用谁知道,呵呵。



试了一下:

urxvt -e ls

窗口还是一闪就消失了。与 xterm -e ls 一样。

不过 -cd 真的不错。
回复 支持 反对

使用道具 举报

发表于 2009-10-26 11:19:09 | 显示全部楼层
1,在.bashrc 中 中添加

2,写入.login 然后 xterm -ls
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表