Shell命令:从文件加载变量的多个值

Shell命令:从文件加载变量的多个值,shell,Shell,我必须运行以下命令: sudo trac-admin /var/www/trac/kpi wiki remove * *不起作用,所以我需要用实际的wiki名称来更改它 我有维基名字保存在一个文件中,每个名字都在新的一行 我想将文件内容作为变量每行输入原始命令trac admin。我该怎么做 帮助我删除trac中所有Wiki的命令是: for x in `cat trac.kpi.wiki2`; do sudo trac-admin /var/www/trac/kpi wiki remove

我必须运行以下命令:

sudo trac-admin /var/www/trac/kpi wiki remove * 
*不起作用,所以我需要用实际的wiki名称来更改它

我有维基名字保存在一个文件中,每个名字都在新的一行

我想将文件内容作为变量每行输入原始命令trac admin。我该怎么做

帮助我删除trac中所有Wiki的命令是:

for x in `cat trac.kpi.wiki2`; do sudo trac-admin /var/www/trac/kpi wiki remove $x; done
谢谢

使用以下命令:

while IFS= read -r line; do
  sudo trac-admin /var/www/trac/kpi wiki remove $IFS;
done < /file/with/wiki/names

而IFS=read-r行;做
sudo-trac-admin/var/www/trac/kpi-wiki删除$IFS;
完成
您可以使用倒勾:

tmp]$ cat a.txt
foo
bar
baz
tmp]$ for x in `cat a.txt`; do echo $x; done
foo
bar
baz
tmp]$

我不确定是否正确理解了您的问题,但可以尝试:

cat /var/www/trac/kpi | xargs sudo trac-admin wiki remove

+1.
xargs
是正确的命令。删除了一个不合适的选项。这不是我想要做的;做done是读取行的更好方法。使用这样的for循环实际上是从文件中读取单词。在很多情况下,每行只有一个单词,但并不总是这样。啊,这更有意义!谢谢-我将在
cat trac.kpi.wiki2
中编辑我的答案;sudo-trac-admin/var/www/trac/kpi-wiki是否删除$x;完成