Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何运行unix脚本_Shell_Unix - Fatal编程技术网

Shell 如何运行unix脚本

Shell 如何运行unix脚本,shell,unix,Shell,Unix,在UNIX中,如果要运行pwd中的shell脚本,请执行以下操作: ./somescript.sh 但也有: . somescript.sh 第二个命令做什么?点是“源”命令的别名: 主要区别在于,第一个语法试图通过为脚本运行一些解释器来执行脚本(由hashbang magic头值确定)。对于shell文件,解释器通常是bash或sh,因此shell将启动一个新的shell进程作为子进程,并将脚本作为参数传递。脚本将在此子流程中独立运行。例如,如果它设置了一个环境变量,它将被隔离到子流程,并

在UNIX中,如果要运行pwd中的shell脚本,请执行以下操作:

./somescript.sh
但也有:

. somescript.sh

第二个命令做什么?

点是“源”命令的别名:

主要区别在于,第一个语法试图通过为脚本运行一些解释器来执行脚本(由hashbang magic头值确定)。对于shell文件,解释器通常是bash或sh,因此shell将启动一个新的shell进程作为子进程,并将脚本作为参数传递。脚本将在此子流程中独立运行。例如,如果它设置了一个环境变量,它将被隔离到子流程,并在子流程退出时消失

寻源文件OTOH指示当前shell读取所述文件中的指令。在这种情况下,更改将修改当前环境。命令完成后,更改的环境变量将可见

寻源仅适用于为当前shell编写的shell脚本。执行适用于任何类型的可运行脚本/程序/可执行文件