请教一下linux系统中程序运行方式的几个问题

lingyu2001 2007-10-29 06:24:06
工作需要,开始接触RED HAT LINUX AS ,主要跑sybase ASE ,其中几个问题想请教一下
1、在运行程序的时候,有些文件,除了要修改其可执行的属性外,还要在shell 提示符后输入 . 然后再加该文件名。例如sybase的环境设置命令SYBASE.sh 在shell提示符下面输入 . /opt/sybase/SYBASE.sh 而有一些sybase的命令却不用输入.如 /opt/sybase/shared/sybcentral43/scjview.sh 同样是sh文件。甚至双击即可
运行 所以想请教一下 点再加空格加/ 是表示什么意思、 / 是表示当前路径么?

...全文
71 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
growup 2007-10-31
  • 打赏
  • 举报
回复
普通的./your_script.sh运行方式,是由shell创建子shell,由子shell执行的。在子shell中建立的变量、函数和别名等只有子shell使用。当那个shell退出,父shell重新得到控制的时候,所有的东西都被清空,脚本对shell状态所作的改变耶全部清除。

所以,如果你想在当前脚本执行脚本而不想启动一个新的shell,你应该使用source:
source ./your_script.sh

. ./your_scrip.sh 等于 source ./your_script.sh

这表示在当前shell下执行脚本。
lxzl943 2007-10-31
  • 打赏
  • 举报
回复
. /opt/sybase/SYBASE.sh 相当于sh /opt/sybase/SYBASE.sh
而./opt/sybase/SYBASE.sh是执行当前目录下的opt/sybase/SYBASE.sh,与上面是不同的
/opt/sybase/shared/sybcentral43/scjview.sh 该脚本已经设置了执行权限,所以它可以直接这样运行

18,773

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧