相关疑难解决方法(0)

如何判断一个字符串是否包含POSIX中的另一个字符串?

我想编写一个Unix shell脚本,如果另一个字符串中有一个字符串,它将执行各种逻辑.例如,如果我在某个文件夹中,请分支.有人可以告诉我如何做到这一点?如果可能的话,我想让这不是特定于shell的(即不仅仅是bash),但如果没有别的方法可以做到这一点.

#!/usr/bin/env sh

if [ "$PWD" contains "String1" ]
then
    echo "String1 present"
elif [ "$PWD" contains "String2" ]
then
    echo "String2 present"
else
    echo "Else"
fi
Run Code Online (Sandbox Code Playgroud)

unix shell

120
推荐指数
7
解决办法
28万
查看次数

获取后台进程的退出代码

我有一个命令CMD从我的主要bourne shell脚本调用,需要永远.

我想修改脚本如下:

  1. 并行运行命令CMD作为后台进程($ CMD&).
  2. 在主脚本中,每隔几秒就有一个循环来监视生成的命令.该循环还将一些消息回显到stdout,指示脚本的进度.
  3. 当生成的命令终止时退出循环.
  4. 捕获并报告生成进程的退出代码.

有人能指点我完成这个吗?

unix linux shell process

112
推荐指数
6
解决办法
13万
查看次数

用于检查运行进程的Bash脚本

我写了一个bash脚本来检查进程是否正在运行.它不起作用,因为ps命令总是返回退出代码1.当我从命令行运行ps命令时,$?是正确设置,但在脚本中它总是1.任何想法?

#!/bin/bash
SERVICE=$1

ps -a | grep -v grep | grep $1 > /dev/null
result=$?
echo "exit code: ${result}"
if [ "${result}" -eq "0" ] ; then
    echo "`date`: $SERVICE service running, everything is fine"
else
    echo "`date`: $SERVICE is not running"
fi
Run Code Online (Sandbox Code Playgroud)

Bash版本:GNU bash,版本3.2.25(1)-release(x86_64-redhat-linux-gnu)

bash

54
推荐指数
7
解决办法
20万
查看次数

标签 统计

shell ×2

unix ×2

bash ×1

linux ×1

process ×1