首页 > 编程知识 正文

python运行没有反应,shell脚本执行失败跳过

时间:2023-05-03 19:38:04 阅读:113073 作者:250

shell脚本语言是linux系统内置的一种非常强大的语言,在操作系统级的APP应用程序处理方面非常出色。 我们从互联网下载的许多APP应用程序的安装和启动往往是用shell脚本语言编写的。 但是,最先开始使用linux的合作伙伴,在下载的APP中,不知道如何安装和启动,经常会因为操作者的安装指示而弄错操作吧? 并指责linux系统操作复杂、不人性化等。 另外,自己学习linux的时候,看到网上的好代码,想复制使用,但是怎么也用不上。 原因是代码不完整,作者撒谎。 其实,编写和运行shell脚本有很多注意事项。 我们平时很少用,所以没注意到。 今天的编辑带大家来详细了解一下吧。

1、“#! ’对使用方法很讲究

#! 如果一系列符号出现在脚本的第一行中,则表示指定shell脚本将由哪种类型的shell解释和执行。 也就是说,指定解释器。 如果#! 此符号显示的位置不是第一行,因此此行是注释行,不运行脚本。 如下图所示,#! 名为/ddzfj/bash的行表示此脚本是使用名为bash的shell运行的。 第三行的那个#! 表示此行是注释。

图1

我们从internet下载的shell脚本可能是因为第一行shell脚本语言解释器与我们的默认shell版本不匹配。 一般来说,必须根据第一行的内容指定解释器。

如果#! /ddzfj/bash,我们在bash test.sh上运行test.sh;

如果#! /ddzfj/dash,我们在dash test.sh上运行dash.sh

其他脚本程序也是这样的执行方法。 如果你的伙伴不知道如何得到shell脚本并执行,你现在知道了吧。

2、脚本注释很重要

在上面,我知道#之后的内容表示评论。 注:如果不是第一行,则有一个#表示在#之后有注释。 第一行用于指定解释器。

#后面的评论是给开发者和使用者看的,系统看不到,也不能执行。 开发人员可以通过评论了解其他程序员编写的脚本的含义。 即使是自己开发的脚本,时间一长也需要依靠评论来回忆。 使用者可以通过查看评论,知道使用时需要注意什么。 并不是所有的外壳都能拿来使用,需要根据自己的环境进行微调。 当然,注释很少有中文,所以英语不好的伙伴记得使用翻译工具。

3、结果因脚本执行方式而异

第一,如上所述,不需要以类似bash test.sh和dash test.sh的格式更改脚本文件的可执行权限,也就是说,不需要使用chmod命令更改文件的权限。

第二种方法是以./test.sh或path/test.sh的形式,该格式要求脚本文件具有可执行权限,如果文件没有可执行权限,则强制执行。per mossion

图2

第三种方法是在点后加上空格,然后跟随脚本名称的形式。 这种形式的功能只在一个shell上运行脚本,而不是生成和执行一个子shell。 主要用于壳中嵌套子壳的情况。 如果有shell嵌套,如果不按照第三种方法运行,可能得不到你想要的结果! 如下图所示。

图3

第一次运行echo $user和第二次运行的反馈结果不同。

那么,今天的共享到此为止! 伙伴们如果有什么不明白的地方,请留言! 如果你喜欢正文,就称赞、收藏、分享编辑吧。

通报/反馈

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。