可以这样在命令行中执行shell脚本吗:

counter=`ps -ef | grep -c "myApplication"`; if [ $counter -eq 1 ] then; echo "true";
>

上面的例子不起作用,我只得到>个字符,这不是我想要得到的结果,这是"真的"

当我执行ps -ef | grep -c "myApplication时,我得到1个输出.可以从脚本中的一行创建结果吗?非常感谢.

推荐答案

它不起作用,因为你错过了fi次来结束你的if次陈述.

counter=`ps -ef | grep -c "myApplication"`; if [ $counter -eq 1 ]; then echo "true"; fi

您可以使用以下方法进一步缩短它:

if [ $(ps -ef | grep -c "myApplication") -eq 1 ]; then echo "true"; fi

此外,请注意@DigitalRoss' answer中提到的ps -ef | grep ...匹配本身的问题.

使现代化

事实上,你可以用pgrep做得更好:

if [ $(pgrep -c "myApplication") -eq 1 ]; then echo "true"; fi

Linux相关问答推荐

如何确定Linux上的最大静态TLS(线程本地存储)块大小?

Linux x86_64上PIE ELF可执行文件的.Text段的基本虚拟地址

用户作用域在Linux内核密钥环(Golang)中是什么意思?

Azure Linux B1s VM-Jenkins Sever已安装,但主页未打开

ShellScript,有更好的方法来查找具有特定名称和日期的文件吗?

在 Ubuntu 中,如何设置 Tomcat 9 以使用 Java 17?

如何更改文件的上次访问/修改/更改日期?

awk/sed 命令仅在模式 2 匹配时打印模式 1

当未在日志(log)中输入确切的时间戳时如何过滤日期范围内的值

为什么 8 位字符串文字可以包含多字节字符,而 char 向量不能?

使用 awk 或 sed 删除特定字符

为什么这个命令会杀死我的 shell?

Linux:在目录下的文件列表中搜索特定单词

如何以另一个用户的身份使用 sudo 在 bash 子shell 中执行一系列命令?

Docker Bash 提示不显示 colored颜色 输出

如何在 shell 脚本中向文件中添加一行?

Linux SCHED_OTHER、SCHED_FIFO 和 SCHED_RR - 区别

如何从 shell 确定当前的 CPU 利用率?

如何从目录复制内容而不是符号链接?

如何用逗号而不是空格分割列表