首页 > 解决方案 > 由于缺少 #!/bin/bash?

问题描述

我的代码叫test.sh,内容是:

echo -e 'Gene_id\tsample_1\tsample_2\tsample_3' > control.countmerged.idx

paste <(awk -F'"' '{print $2}' 1.countmerged.idx) <(awk -F'"' '{print $6}' 1.countmerged.idx) <(awk -F'"' '{print $6}' 2.countmerged.idx) <(awk -F'"' '{print $6}' 3.countmerged.idx) >> control.countmerged.idx

使用sh test.sh,我得到了错误:

test.sh: line 3: syntax error near unexpected token `('
test.sh: line 3: `paste <(awk -F'"' '{print $2}' 1.countmerged.idx) <(awk -F'"' '{print $6}' 1.countmerged.idx) <(awk -F'"' '{print $6}' 2.countmerged.idx) <(awk -F'"' '{print $6}' 3.countmerged.idx) >> control.countmerged.idx'

但是,如果我复制粘贴文件中的两个命令行以手动执行它们,则效果很好。

我还尝试了另一种方法,它也有效:我将标题添加#!/bin/bash到文件中,并更改文件的模式chmod +x test.sh,然后使用./test.sh. 这也有效。

有人可以帮忙解释一下吗?

标签: bashshell

解决方案


推荐阅读