Что я имею:

array[0]="Programm is Running"
array[1]="programm is down"

Что я хочу:

array[0]="Programm is \e[0;32mRunning\e[0m"
array[1]="programm is \e[0;31mDown\e[0m"

Это сделает все немного более красочным (используя команду echo -e), по крайней мере, я на это надеюсь. Я попытался заменить это на:

array[$i]=${array[$i]//"running"/"\e[0;32mrunning\e[0m"}
array[$i]=${array[$i]//"down"/"\e[0;31mdown\e[0m"}

Это не сработало. Сообщение об ошибке:

0403-011 Указанная подстановка недопустима для этой команды.

Почему это происходит? Что мне нужно, чтобы разные?

1 ответ1

0

Похоже, что вы ошиблись. Запуск против запуска, у меня работает следующее

    array[0]="Programm is running"
    array[1]="Programm is down"

            for i in 0 1; do
            array[$i]=${array[$i]//"running"/"\e[0;32mrunning\e[0m"}
            array[$i]=${array[$i]//"down"/"\e[0;31mdown\e[0m"}
    done
    echo ${array[0]}
    echo ${array[1]}

производит

    Programm is \e[0;32mrunning\e[0m
    Programm is \e[0;31mdown\e[0m

с помощью echo -e вместо просто echo он выдает правильный цветной текст, однако это будет проще исправить вручную, чем исправлять каждый раз при запуске.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .