首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在编写bash脚本时,它的等效性是什么?

在编写bash脚本时,它的等效性是什么?
EN

Unix & Linux用户
提问于 2013-02-02 20:15:31
回答 7查看 3.3K关注 0票数 31

如果这是一个重复的问题,我提前道歉。在问这个问题之前,我确实做了一番努力去搜索/检查。

我很乐意写这样的单行:

代码语言:javascript
运行
复制
foocommand && foocommand2 && foocommand3

这个想法是,我只希望在前一个命令“成功”的情况下运行后续命令。

我正在编写一个有点长的脚本,而这一行代码是不可行的,因为对其他人来说,它看起来像是一大块令人困惑的代码。

我想在脚本中列出这些命令,并在它们之间写注释。我如何才能做到这一点,而仍然有相当于&&在那里呢?

EN

回答 7

Unix & Linux用户

回答已采纳

发布于 2013-02-02 20:20:50

你可以这样做:

代码语言:javascript
运行
复制
#!/bin/sh
ls -lh &&
    # This is a comment
    echo 'Wicked, it works!'

我希望我能正确理解你的要求。

票数 23
EN

Unix & Linux用户

发布于 2013-02-02 20:21:50

你可以把她的线改为

代码语言:javascript
运行
复制
#!/bin/bash -e

在出现任何错误后,脚本将停止。

票数 39
EN

Unix & Linux用户

发布于 2013-02-02 20:40:33

如果你不喜欢set -e的想法,也许你可以倒转逻辑。

代码语言:javascript
运行
复制
foocommand || exit 1
foocommand2 || exit 2
foocommand3 || exit 3

更有用的是,将exit替换为打印有用的错误消息,然后退出。当然,在函数内部,您需要的是return而不是exit

票数 19
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/63480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档