首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在bash脚本中向管道提交两个或多个输入文件?

如何在bash脚本中向管道提交两个或多个输入文件?
EN

Stack Overflow用户
提问于 2014-09-24 16:15:44
回答 2查看 42关注 0票数 0

我编写了一个bash脚本,它使用各种程序执行一系列生物信息学任务。我想知道如何传递这个脚本--一串文件名--在连续的情况下执行相同的分析。

假设我有这样的东西:

代码语言:javascript
复制
name=a.txt
echo "this is a test" >> $name
echo "this is also a test" >> $name
echo "this is still a test" >> $name

我以为我能做到

代码语言:javascript
复制
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

来达到同样的目的。但很明显这不管用。我怎样才能做到这一点?

谢谢,

哑光

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-24 16:23:51

如果我理解你想做什么,你的例子似乎大部分都是正确的。要从命令行参数获取文件列表,可以这样做:

代码语言:javascript
复制
#!/bin/sh
for file in "$@"; do
  echo "text" >> $file
done
票数 0
EN

Stack Overflow用户

发布于 2014-09-24 16:23:07

文件名周围的引号是问题所在,没有它们它就能工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26021773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档