Shell脚本 - 无法在脚本上执行特定的控制台命令

时间:2017-04-24 08:02:20

标签: bash shell

我在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

2 个答案:

答案 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