#linux #bash #docker #grep
Разбираюсь с bash'ем Хочу написать скрипт для работы с докером, столкнулся с непониманием работы синтаксиса bash. Пример скрипта такой: #!/bin/bash result=$(docker ps) container=container_name if $result | grep $container then echo "$container is work" fi Если контейнер с именем container_name запущен то по идее мы должны пройти условие, но получается такая ошибка: ./mscript.sh: line 4: CONTAINER: command not found
Ответы
Ответ 1
Все штатно. просто сделайте подстановку всех переменных и посмотрите что получается. bash пытается выполнить $result как команду. Скорее всего Вы имели ввиду такое echo $result | grep $containerОтвет 2
Дружище, изучите docker, то что вы делаете через if, grep и т.д. делается внутри команды docker ps: $ docker ps --no-trunc -af name="^*$" -f status="running" --format "{{.ID}}: {{.Status}}" 0c9b82211c4da46d2af47f30fd1f90150173b70d29574030e6eadc399c9f58a8: Up 3 days 32b8a98772a4b0520252aba1eee944251c72c404d5ddef0a71f59f82d385926f: Up 2 weeks f394c4b1dbec886c75880ae217a6243dde44ed4dc81d7c0cea533339140c5d01: Up 3 days 2e02efb775c34b945e97dbdea41da9776aa05c83789520eaf32544dad8980db1: Up 2 weeks 451524ce8dc85a63d60f561b436c646ba8f2141346a14a21d1c16709cbed6441: Up 2 weeks e0aa486fa921109c512640a49d07aa1b33a72ab9d64446614cbc44e475f26848: Up 2 weeks
Комментариев нет:
Отправить комментарий