簡體   English   中英

Shell腳本-無法在腳本上執行特定的控制台命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM