带参数的Bash脚本执行命令

带参数的Bash脚本执行命令,bash,shell,Bash,Shell,我正在尝试建立一个新的托管服务器,并迁移超过50个站点。我需要运行这个命令来使用RT Easy Engine构建每个站点 sudo ee domain.com --php 我已经创建了一个包含域的txt文件,我可以让它毫无问题地循环 array=() # Read the file in parameter and fill the array named "array" getArray() { i=0 while read line # Read a line d

我正在尝试建立一个新的托管服务器,并迁移超过50个站点。我需要运行这个命令来使用RT Easy Engine构建每个站点

sudo ee domain.com --php
我已经创建了一个包含域的txt文件,我可以让它毫无问题地循环

array=()
# Read the file in parameter and fill the array named "array"

getArray() {
    i=0
    while read line # Read a line
    do
        array[i]=$line # Put it into the array
        i=$(($i + 1))
    done < $1
}

getArray "domains.txt"

for e in "${array[@]}"
do
    echo $e

done
工作正常。获取
sudo ee domain.com

如何在末尾添加
--php
并执行

每次我添加它,我都会

--phpe domain.com

你可以试试这个:

sed 's/\r//g' domains.txt | while read domain; do
    sudo ee "$domain" --php
done
这将读取每一行并将其存储在变量
,您可以随意调用该变量

编辑:如果您的root权限在执行过程中用完(不知道命令运行多长时间),那么首先执行
sudo-i
可能会很有用


Edit2:增加了每个请求的回车删除。

看起来更接近,但我现在得到了这个输出。sudo ee$'domain.com\r'--php非常接近,感谢您的快速回复。还有什么想法吗?王尔德先生,你正在运行的文件似乎是Windows格式的。。。把它转换成UNIX格式的代码是正确的,你也可以考虑程序<代码> UNIX2DOS ,但是<代码> SED 在我看来是更容易的,因为你不需要安装任何东西。谢谢,这是痛苦的,它真的不应该。
sed 's/\r//g' domains.txt | while read domain; do
    sudo ee "$domain" --php
done