gpt4 book ai didi

bash - 为什么我的 bash 脚本中不断出现语法错误?它是否与 ":"相关?

转载 作者:行者123 更新时间:2023-12-03 08:20:01 25 4
gpt4 key购买 nike

我正在尝试计算 errorList 数组中每个项目的错误,但我不断收到“表达式中的语法错误(错误标记是“:只是一个测试”)”。

#!/bin/bash

declare -a errorList=(
'MEDIA ERROR: just a test'
'MEDIA BLA: resource unavaliable!'
'DIALOG: Found PROBLEM ev_id="EV_ID"'
)

declare -a errorListNames=(
"Silence"
"Unavaliable"
"Environment error"
)

pathLogs="/home/logs_test/"
logFileName="media.log.*"

dateLog="10-10-2019"

fgrep "$dateLog" $pathLogs$logFileName > grepedByDate.txt

for i in "${errorList[@]}"
do
fgrep -c "${ errorList[i], }" grepedByDate.txt
echo "${errorListNames[i]}"
done

echo "Bye"

最佳答案

1. 使用!#获取 key

代替:

for i in "${errorList[@]}"

采用:
for i in ${!errorList[@]}"

或者:
maxIndex=${#errorList[@]}
for (( i=0; i<$maxIndex; i++ ))

2. 空格在变量引用中很重要

代替:
        fgrep -c "${ errorList[i], }" grepedByDate.txt

采用:
        fgrep -c "${errorList[i]}" grepedByDate.txt

关于bash - 为什么我的 bash 脚本中不断出现语法错误?它是否与 ":"相关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58378044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com