Linux中运行shell脚本的几种方式及其区别(source . ./myscript.sh sh myscript.sh) |
您所在的位置:网站首页 › Linux执行脚本的三种方式 › Linux中运行shell脚本的几种方式及其区别(source . ./myscript.sh sh myscript.sh) |
Linux中运行shell脚本的几种方式
我们假设要运行的脚本名称为myscript.sh。运行shell脚本一般有以下几种方式: ./mysccript.shsh mysccript.shsource myscript.sh. mysccript.sh ./myscript.sh 这种方式运行脚本需要myscript.sh在当前目录下,当然其他目录下的脚本也可以输入相应的路径来运行。./ 表示在当前目录寻找这个脚本来执行,不加 ./ 的话系统会去PATH变量中的路径去寻找这个脚本,一般情况下shell脚本又不会放到PATH路径中。这种方式需要myscript脚本具有执行权限。这种方式可以在脚本的首行指定解释器,如#!/bin/sh,也可以指定如python perl之类的其他解释器,不指定的话默认sh解释器。这种方式运行脚本会重新启动一个子进程来运行该脚本,因此局部变量不可与其父进程共享。 sh myscript 这样运行shell脚本实际上运行的是sh这个命令,并且把myscript当做参数传递给了sh,因此此时myscript.sh是不需要执行权限的。此时脚本首行不用指定解释器,指定了也没用。这种运行方式同样会重新启动一个子进程来执行脚本,因此局部变量不可与其父进程共享。sh/bash/ksh等的区别请查阅相关资料。 source myscript.sh 和 . myscript把这两个放在一起是因为他们本质上是一回事,. 是source是别名。 这种方式运行脚本时会在当前进程中执行脚本。这种方式运行脚本时局部变量与其父进程共享,当然export的环境变量也是可以共享的。此时脚本不需要可执行权限。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |