[英]Using Variable in Shell script as input for another command
#!/bin/bash
sudo docker-compose -f /home/administrator/compose/docker-compose.yml up --build -d
OUTPUT=$(docker ps | grep 'nginx_custom' | awk '{ print $1 }')
echo $OUTPUT
sudo docker $OUTPUT nginx -s reload
這是在控制台中正確打印的 ID。
6e3b3aa3fbc4
該命令工作正常。
docker exec 6e3b3aa3fbc4 nginx -s reload
但是,該變量似乎沒有在這里傳遞給命令:
sudo docker $OUTPUT nginx -s reload
我對 shell 很不熟悉:(。如何將變量傳遞給比 echo 更長的命令?
將set -x
添加到腳本中,看看會發生什么:您可能可以擺脫grep並將其合並到awk 中
#!/bin/bash
set -x
sudo docker-compose -f /home/administrator/compose/docker-compose.yml up --build -d
OUTPUT=$(docker ps | awk '/ngnix_custom/{ print $1 }')
echo $OUTPUT
sudo docker $OUTPUT nginx -s reload
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.