我编写了一个bash脚本,使用各种程序执行一系列生物信息学任务。我想知道如何传递这个脚本一串文件名来连续执行相同的分析。
即。假设我有类似的东西:
name=a.txt
echo "this is a test" >> $name
echo "this is also a test" >> $name
echo "this is still a test" >> $name
我以为我能做到:
for i in 'b.txt c.txt d.txt'
do
name=$i
echo "this is a loop test" >> $name
echo "this is also a loop test" >> $name
echo "this is still a loop test" >> $name
done
实现同样的事情。但显然这不起作用。我怎么能实现这个目标?
谢谢,
马特
答案 0 :(得分:0)
你的文件名周围的引号是问题,没有它们就可以了
答案 1 :(得分:0)
如果我明白你想做什么,你的例子似乎大致正确。 要从命令行参数获取文件列表,您可以这样做:
#!/bin/sh
for file in "$@"; do
echo "text" >> $file
done