[英]Shell script - can't execute a particular console command on script
我在centos 7服務器上安裝了magento 2,我需要創建一個腳本來從控制台執行一些特定的shell命令。 我已經創建了一個讀取文件的簡單腳本,然后執行我在該文件上編寫的所有命令,然后刪除該文件。
我不知道為什么,但是如果執行此腳本: HTTP_HOST="<mydomain>" php bin/magento cache:flush
從控制台HTTP_HOST="<mydomain>" php bin/magento cache:flush
,命令將成功執行。 如果從腳本中執行了相同的命令,則會出現此錯誤: HTTP_HOST="<mydomain>": command not found
這是我的腳本:
#! /bin/bash
#imposto il nome del file
filename=command_to_exec.flag
echo ""
echo "-- Sto cercando il file: ${filename}"
#cerco il file
if [ -f $filename ]
then
#file trovato
echo "-- File Trovato..."
#ciclo il file per leggere i comandi
while read line
do
$line
done < $filename
#elimino il file
rm $filename
echo "File Eliminato"
#complete!
echo "-- Procedura Completata"
else
#file NON trovato
echo "-- File NON Trovato"
fi
你指的是
while read line
do
$line
done < $filename
通常的方法是使用eval
while read line
do
eval $line
done < $filename
使用其他字符串,例如:
HTTP_HOST="<mydomain>"
php bin/magento cache:flush
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.