小编Aar*_*son的帖子

BASH If [[ "$a" == *"$b"* ]] 始终为真,即使不应该为真

我正在尝试编写一个小型 bash 脚本来监视 RiotShield(英雄联盟的第 3 方玩家抓取工具)的输出是否崩溃。如果在日志中找到关键字,它应该终止该进程并重新启动它。

这是我的 bash 脚本:

#!/bin/bash
crash[1]="disconnected"
crash[2]="38290209"
while true; do
    list=$(tail log.log)
    #clear
    echo "Reading Log"
    echo "========================================"
    echo $list
    for item in ${list//\\n/ }
    do
            for index in 1 2
            do
                    c=${crash[index]}
                    #echo "Crash Word:" $c
                    if [[ "$c" == *"$item"* ]]; then
                            echo "RiotShield has crashed."
                            echo "Killing RiotShield."
                            kill $(ps aux | grep '[R]iotShield.exe' | awk '{print $2}')
                            echo "RiotShield killed!"
                            echo "Clearing log."
                            echo > log.log
                            echo "Starting RiotShield"
                            (mono RiotShield.exe …
Run Code Online (Sandbox Code Playgroud)

linux bash shell

4
推荐指数
1
解决办法
795
查看次数

标签 统计

bash ×1

linux ×1

shell ×1