Linux跑脚本用sh和./有什么区别?

在命令行中执行脚本时可能会遇到两种不同的方式:所有的文件都必须具备可执行权限才能被系统执行。如果你已经给该文件设置了可执行权限,如果你仅仅是想运行当前目录下的某个脚本。

在 Linux 的世界里,脚本运行是一个非常常见的操作。而对于初学者来说,在命令行中执行脚本时可能会遇到两种不同的方式:使用 sh 命令或直接使用 ./ 运行。

在兴城等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、网站建设 网站设计制作定制网站建设,公司网站建设,企业网站建设,品牌网站制作,全网营销推广,成都外贸网站建设,兴城网站建设费用合理。

那么,这两种方式究竟有何区别呢?

首先我们需要知道,在 Linux 中,所有的文件都必须具备可执行权限才能被系统执行。因此,在运行一个脚本之前,你需要确保它已经被赋予了可执行权限。

通常情况下,我们可以通过 chmod 命令改变文件的权限:

```

chmod +x script.sh

其中 script.sh 是你要运行的脚本文件名。

现在让我们回到正题:使用 sh 命令与直接使用 ./ 运行两个不同版本的脚本之间有何差异?

1. 使用 sh 命令

如果你想要运行一个以 .sh 结尾的 shell 脚本,并且没有给它赋予可执行权限,则可以通过以下命令来运行:

sh script.sh

当然,如果你已经给该文件设置了可执行权限,则也可以用相对路径来代替绝对路径:

sh /path/to/script.sh

值得一提的是,在调用 sh 时,你并不需要指定脚本的路径。如果你仅仅是想运行当前目录下的某个脚本,则可以直接输入:

sh ./script.sh

这种方式在使用上非常简单,但同时也有一些限制。首先,由于 sh 命令实际上是启动一个新进程来执行该命令,在一些情况下可能会影响性能。

其次,sh 命令只适用于 shell 脚本,并不能保证其他类型的脚本都能够正常运行。因此,在编写跨平台脚本时应当慎重选择。

2. 直接使用 ./ 运行

与 sh 命令相比,直接使用 ./ 运行则更加方便快捷。例如:

./script.sh

或者:

/path/to/script.sh

注意:在这里我们省略了 sh 命令,并且直接给出了文件名(或绝对路径)。这就意味着系统会试图解释该文件中的命令,并将它们作为一个独立进程来执行。

通过使用 ./ 语法来运行 shell 脚本还有另外两个优点:

- 更好地控制环境变量和参数。

- 可以避免一些安全问题。

总结

以上两种方法各有优缺点,在实际开发过程中需要根据具体情况进行选择。如果你想要运行一个 shell 脚本,并且不关心性能问题,那么使用 sh 命令是最简单的方式;而如果你希望更好地控制环境变量和参数,或者想避免一些安全风险,则直接使用 ./ 运行可能会更加合适。

在 Linux 的世界里,脚本运行是一项非常基础的操作。因此,在学习这个过程中,请务必注意保持耐心、深入思考,并积极尝试各种方法来找到最佳解决方案。

当前题目:Linux跑脚本用sh和./有什么区别?
地址分享:http://www.hantingmc.com/qtweb/news0/16350.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联