当前位置: 技术问答>linux和unix
请教一下linux系统中程序运行方式的几个问题
来源: 互联网 发布时间:2016-02-16
本文导语: 工作需要,开始接触RED HAT LINUX AS ,主要跑sybase ASE ,其中几个问题想请教一下 1、在运行程序的时候,有些文件,除了要修改其可执行的属性外,还要在shell 提示符后输入 . 然后再加该文件名。例如sybase的环境...
工作需要,开始接触RED HAT LINUX AS ,主要跑sybase ASE ,其中几个问题想请教一下
1、在运行程序的时候,有些文件,除了要修改其可执行的属性外,还要在shell 提示符后输入 . 然后再加该文件名。例如sybase的环境设置命令SYBASE.sh 在shell提示符下面输入 . /opt/sybase/SYBASE.sh 而有一些sybase的命令却不用输入.如 /opt/sybase/shared/sybcentral43/scjview.sh 同样是sh文件。甚至双击即可
运行 所以想请教一下 点再加空格加/ 是表示什么意思、 / 是表示当前路径么?
1、在运行程序的时候,有些文件,除了要修改其可执行的属性外,还要在shell 提示符后输入 . 然后再加该文件名。例如sybase的环境设置命令SYBASE.sh 在shell提示符下面输入 . /opt/sybase/SYBASE.sh 而有一些sybase的命令却不用输入.如 /opt/sybase/shared/sybcentral43/scjview.sh 同样是sh文件。甚至双击即可
运行 所以想请教一下 点再加空格加/ 是表示什么意思、 / 是表示当前路径么?
|
普通的./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下执行脚本。
所以,如果你想在当前脚本执行脚本而不想启动一个新的shell,你应该使用source:
source ./your_script.sh
. ./your_scrip.sh 等于 source ./your_script.sh
这表示在当前shell下执行脚本。
|
. /opt/sybase/SYBASE.sh 相当于sh /opt/sybase/SYBASE.sh
而./opt/sybase/SYBASE.sh是执行当前目录下的opt/sybase/SYBASE.sh,与上面是不同的
/opt/sybase/shared/sybcentral43/scjview.sh 该脚本已经设置了执行权限,所以它可以直接这样运行
而./opt/sybase/SYBASE.sh是执行当前目录下的opt/sybase/SYBASE.sh,与上面是不同的
/opt/sybase/shared/sybcentral43/scjview.sh 该脚本已经设置了执行权限,所以它可以直接这样运行