2017-10-28 125 views
0

我正在使用C Shell,并且我为站点支持的每种语言(在将##更改为en,es,pt等之后)复制并粘贴以下命令:在命令行上循环访问数组

mkdir ## 
mv x ##/x 
cp -r base ## 
echo '<?php $lang="##"; include "settings.php";' > ##/settings.php 
/usr/local/bin/php ##/maintenance/update.php 

有没有一种方法可以让语言的数组,并有这些步骤循环数组中的每个元素?

再次,这些被粘贴到我的终端,我使用的是C Shell。

+1

csh?你为什么要这样对你自己? (请参见[不使用C shell的十大理由](http://www.grymoire.com/unix/CshTop10.txt),以及csh标签wiki上的链接)。 –

回答

0

最简单的方法是创建一个包含以下内容的shell脚本;

foreach lng (en es pt) 
do 
    mkdir ${lng} 
    mv x ${lng}/x 
    cp -r base ${lng} 
    echo '<?php $lang="'${lng}'"; include "settings.php";' > ${lng}/settings.php 
    /usr/local/bin/php ${lng}/maintenance/update.php 
done 

请注意,空格是语言列表的默认分隔符。 我也完全限定了第5行目录“路径”的路径。