'delta_oligo_combined.bedgraph'文件如何在目录中并且cat命令无法看到? OSX拼写错误?
$ type=oligo
$ file_type=combined
$ ls delta_oligo_combined.bedgraph
delta_oligo_combined.bedgraph
$ cat delta_$(type)_$(file_type).bedgraph
-bash: file_type: command not found
cat: delta__.bedgraph: No such file or directory
答案 0 :(得分:1)
您希望在(路径)字符串中包含变量值:
${varName}
是您引用名为varName
的变量的方法 - 请注意分隔符{
和}
(并非总是需要)。
相比之下,您错误地使用了语法$(...)
,这意味着将命令的输出嵌入到字符串中。
因此,代币type
和file_type
被解释为命令并执行:
type
恰好是内置实用程序的名称,在没有参数的情况下调用时不会输出任何内容。
file_type
不是任何现有命令的名称,这就是Bash抱怨(command not found
)的原因。
生成的文件路径 - 在执行命令替换后 - 是delta__.bedgraph
(两个命令替换都扩展为空字符串),导致cat
报告不存在的文件({ {1}})。
有关详情,请参阅No such file or directory
。