当前位置: 首页 > 知识库问答 >
问题:

Bash:一行中的If/Else语句

堵宏毅
2023-03-14

我试图检查一个进程(假设它被称为some_进程)是否正在服务器上运行。如果是,则回显1,否则回显0。

这是我正在使用的命令,但它只能部分工作(更多信息见下文)。注意,我需要在一行中编写脚本

ps aux | grep some_proces[s] > /tmp/test.txt && if [ $? -eq 0 ]; then echo 1; else echo 0; fi

注:某些过程中的[s]是为了防止grep自身返回。

如果某个_进程正在运行,则会回显“1”,这很好。但是,如果某个_进程未运行,则不会产生任何回声。

共有3个答案

车辰龙
2023-03-14

使用grep-vc来忽略输出中的grep,并同时计算行数。

if [[ $(ps aux | grep process | grep -vc grep)  > 0 ]] ; then echo 1; else echo 0 ; fi

黄俊誉
2023-03-14

<代码>

ps aux|grepsome_proces[s]

(或者只是使用换行符)。

满雨石
2023-03-14

无需显式检查( 。只要做:

ps aux | grep some_proces[s] > /tmp/test.txt && echo 1 || echo 0 

请注意,这依赖于回显不会失败,这当然不能保证。更可靠的写法是:

if ps aux | grep some_proces[s] > /tmp/test.txt; then echo 1; else echo 0; fi
 类似资料:
  • 我似乎搞不清楚下面的语句与和有关的问题是什么。请记住,仍然在开发中,我只是还没有能够在语句中测试它,所以很可能是错误的。 我得到的错误是: 而语句是这样的。

  • Swift 条件语句 一个 if 语句 后可跟一个可选的 else if...else 语句,else if...else 语句 在测试多个条件语句时是非常有用的。 当你使用 if , else if , else 语句时需要注意以下几点: if 语句后可以有 0 个或 1 个 else,但是如果 有 else if 语句,else 语句需要在 else if 语句之后。 if 语句后可以有 0

  • else语句可以与if语句结合使用。 else语句包含else语句中的条件表达式解析为0或FALSE值时执行的代码块。 else语句是一个可选语句, else后面最多只能有一个else语句。 语法 (Syntax) if...else语句的语法是 - if expression: statement(s) else: statement(s) 流程图 (Flow Diagram) 例

  • 我想问一下如何使用下面的代码执行if语句?我试过了,但它给了我一个错误;它说不能把void变成bool。有什么建议吗?

  • 问题内容: 当需要指定特定状态时,我需要更改渲染功能并运行一些子渲染功能, 例如: 如何在不更改场景的情况下实现这一点,我将使用标签动态更改内容。 问题答案: 根据 DOC : if-else语句在JSX中不起作用。这是因为JSX只是函数调用和对象构造的语法糖。 基本规则: JSX从根本上讲是syntactic sugar.。编译后,JSX表达式成为常规的JavaScript函数调用,并评估为Ja

  • 问题内容: 我正在寻找编写一个PostgreSQL查询来执行以下操作: 我已经试过这个查询,但是没有用 谢谢你 问题答案: 如PostgreSQL的文档中阐明在这里: SQL CASE表达式是通用条件表达式,类似于其他编程语言中的if / else语句。 专门回答您的问题的代码段: