我想在第二个数组中使用第一个数组(Locale)的输出。不幸的是,我一直无法得到它的工作。如何在变量中打印数组的内容
#!/bin/sh
locale=(ch de es fr in pl it be)
webuser=apache
for locale in "${locale[@]}"
do
echo -n "\"./public/$locale/*\" "
done < <(local_dirs)
for folder in "${local_dirs[@]}"
do
echo "sudo chown -R $webuser $folder"
#sudo chown -R $webuser $folder
echo "sudo chmod -R 775 $folder"
#sudo chmod -R 775 $folder
done
我甚至不知道这是可能的,我总是可以打印到一个文件。
问候, 金
不错的答案,但你也应该改变第三个循环:1)'folder =“./ public/$ loc/*”'(原始文件试图用引号包围并添加一个分隔空间,但它不是文件夹名称的一部分!)2) echo:'echo sudo chown -R“$ {webuser}”“$ {folder}”''echo sudo chmod -R 775“$ {folder}”'(这样,只需删除“echo”就会启动如果文件夹中有空格等,需要使用引号,并且第二个循环也应该被编辑为不在文件夹名称中添加引号和尾部空格 –