我在centos 7服务器上安装了magento 2,我需要创建一个脚本来从控制台执行一些特定的shell命令。 我创建了一个读取文件的简单脚本,然后执行我在该文件上写的所有命令,然后删除该文件。
我不知道为什么,但如果从控制台执行此脚本: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
答案 0 :(得分:1)
您指的是
while read line
do
$line
done < $filename
通常的方法是使用 eval
while read line
do
eval $line
done < $filename
答案 1 :(得分:0)
使用不同的字符串,例如:
HTTP_HOST="<mydomain>"
php bin/magento cache:flush