' for reading (没有那个文件或目录)en file `

 

001、奇怪的报错:' for reading (没有那个文件或目录)en file `

复制代码
[sy20223040796@admin1 test]$ ls                ## 测试文件及命令
test.bed  test.sh
[sy20223040796@admin1 test]$ cat test.bed      ## 测试文件
1       5400001 5400002
1       5425001 5425002
1       8150001 8150002
1       17350001        17350002
[sy20223040796@admin1 test]$ cat test.sh        ## 测试命令
awk 'BEGIN {chrom_map["1"] = "NC_056054.1"} {chrom = $1; rest = $2 "\t" $3; if (chrom in chrom_map) { print chrom_map[chrom], "\t" rest}}' test.bed
[sy20223040796@admin1 test]$ bash test.sh       ## 出现如下的报错
NC_056054.1     5400001 5400002
NC_056054.1     5425001 5425002
NC_056054.1     8150001 8150002
NC_056054.1     17350001        17350002
' for reading (没有那个文件或目录)en file `
复制代码

 。

 

002、测试,问题原因

复制代码
[sy20223040796@admin1 test]$ ls
test.bed  test.sh
[sy20223040796@admin1 test]$ cp test.sh test2.sh      ## 错误脚本复制一份
[sy20223040796@admin1 test]$ dos2unix test2.sh        ## 将test2.sh转换 为linux格式
dos2unix: converting file test2.sh to Unix format ...
[sy20223040796@admin1 test]$ cat -A test.sh           ## 查看详细格式
awk 'BEGIN {chrom_map["1"] = "NC_056054.1"} {chrom = $1; rest = $2 "\t" $3; if (chrom in chrom_map) { print chrom_map[chrom], "\t" rest}}' test.bed ^M$
[sy20223040796@admin1 test]$ cat -A test2.sh          ## 查看详细格式
awk 'BEGIN {chrom_map["1"] = "NC_056054.1"} {chrom = $1; rest = $2 "\t" $3; if (chrom in chrom_map) { print chrom_map[chrom], "\t" rest}}' test.bed $
[sy20223040796@admin1 test]$ bash test.sh             ## 测试原始脚本, 有报错
NC_056054.1     5400001 5400002
NC_056054.1     5425001 5425002
NC_056054.1     8150001 8150002
NC_056054.1     17350001        17350002
' for reading (没有那个文件或目录)en file `
[sy20223040796@admin1 test]$ bash test2.sh             ## 测试修改后脚本呢, 无报错
NC_056054.1     5400001 5400002
NC_056054.1     5425001 5425002
NC_056054.1     8150001 8150002
NC_056054.1     17350001        17350002
复制代码

 。

 

出现 ' for reading (没有那个文件或目录)en file `报错是因为shell脚本末尾多出了windows中的 ^M后缀, 在linux 中不兼容导致的

 

posted @   小鲨鱼2018  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-05-01 linux 中netstat命令
2022-05-01 linux中常用的查看后台进程ps命令
2022-05-01 linux 中 echo -n的作用
2022-05-01 linux 中 sed命令切香肠
2022-05-01 linux 中awk中数组实现逆向输出文件
2022-05-01 linux awk中输出1~100的所有质数
2022-05-01 awk 内置字符串函数index的用法
点击右上角即可分享
微信分享提示