Chinaunix

标题: 在红帽Linux桌面执行sh脚本的3个问题! [打印本页]

作者: tdy2180    时间: 2009-07-07 16:51
标题: 在红帽Linux桌面执行sh脚本的3个问题!
问题一:在红帽Linux桌面上双击执行一个SH脚本时,"在终端中运行"和"运行"有什么区别?
解答:都是从"~"(User Home)执行一个脚本,只不过前者是新打开一个窗口去执行,后者是在后台执行。
待指正!

问题二:如果想使用子进程(脚本)中的变量,在调用时应该怎么做?
解答:在命令行或者Shell脚本中使用".空格/ <path name>/ <script name>"(注意:这里只有一个点)

《Shell十三问》第六问中有相关类似解释,只不过我试验的结果与《Shell十三问》作者所讲的稍有出入,我的结论:".空格./ <path name>/ <script name> 只能在Shell或者远程终端中执行(注意这里有2个点),不能在Shell脚本中执行,他会把第二个'.'当成路径的一部分,也就是从当前路径开始查找目标脚本。"


问题三:sh $path var/script.sh与sh "$path var/script.sh"已证实有区别(前者无法双击选择"在终端中运行",后者双击后选择"在终端中运行"和"运行"都可以),但这2种写法在Shell中执行却是相同的结果。为什么?

《Shell十三问》第四问中有""的解释,不过还没看明白,还请路过的朋友帮忙看看。

:《Shell十三问》简体中文版  下载
作者: tdy2180    时间: 2009-07-08 17:47
哪位朋友帮忙看下。
作者: wtuter    时间: 2009-07-09 10:06
标题: 回复 #1 tdy2180 的帖子
没看懂
作者: ubuntuer    时间: 2009-07-09 10:25
问题一:
      在终端灵活点吧,再说我还没有双击执行过脚本...  终端可是选择sh scriptname....  bash  scriptname脚本里不一定要写#!/...什么的
问题二:
      你个人理解错误而与
      ./就是pathname  不要质疑netman
问题三:
      看到双击 我不看了
作者: tdy2180    时间: 2009-07-11 00:06
原帖由 ubuntuer 于 2009-7-9 10:25 发表
问题一:
      在终端灵活点吧,再说我还没有双击执行过脚本...  终端可是选择sh scriptname....  bash  scriptname脚本里不一定要写#!/...什么的
问题二:
      你个人理解错误而与
      ./就是pathname   ...


1.首先你心理上对某些操作已经有所取舍,更不了解别人为什么这样做,就说...

2.谢谢你的回复,不过我感觉除了你对问题二的分析有点道理外,其他两个问题的回答...


我看有必要把问题多讲点,首先,把一个脚步(Web Server)的启动脚本放在桌面上,并选择双击执行,不是我想这样搞,是客户这样做了,换做我,我也不会在Linux/Unix中选择双击执行一个脚本。而且也比较节省时间,同时也出了问题,就是有时候双击桌面上的启动脚本,选择"在终端中运行"和"运行"都无法正常启动Web Server。

nohup sh "$dop/bin/startWebLogic.sh" >> "$stdp/$AdminServer_Name.out@$suffix" &   //就这一句,老出问题,有时双击时选择"在终端中运行"和"运行"都可以,有时一个都不行,有时只有"运行"可以,有点郁闷了!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2