Bash Script使用参数执行命令

时间:2015-01-23 12:44:44

标签: 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
    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

我将for循环更改为

echo "sudo ee " $e

工作正常。得到sudo ee domain.com

如何在结尾添加--php并执行?

每次我添加它,我都会

--phpe domain.com

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

sed 's/\r//g' domains.txt | while read domain; do
    sudo ee "$domain" --php
done

这将读取每一行并将其存储在变量domain中,您可以随意调用它。

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

Edit2:为每个请求添加了回车删除。