bash - 由于缺少 #!/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
. 这也有效。
有人可以帮忙解释一下吗?
解决方案
推荐阅读
- python - 从数据库中获取所有记录(Flask 和 SQLAlchemy)
- ios - 需要为 SKStoreReviewController 自定义弹出警报
- kotlin - 如何使用数组读取存储到 Firestore 的数据?
- c# - 如何在 .net 核心中使用 cert.pem、private.key 创建 pfx 文件
- laravel - Laravel api sanctum CSRF 令牌在 chorme 中不匹配
- c# - 将列表与另一个列表进行比较并获取匹配项
- node.js - npm 错误!无法确定要运行的可执行文件
- java - Json 到 POJO 空字段
- c# - 如何在不覆盖值的情况下映射列表
- symfony - Findby() 中的 Symfony LIKE 标准