我试图在 bash 脚本中使用命令替换来输出基于变量的重定向符号,如下所示:
IS_VERBOSE=false
curl $BLAH $( $IS_VERBOSE && echo '-i' || echo '> /dev/null' )
Run Code Online (Sandbox Code Playgroud)
也就是说,如果冗长,请添加-i开关,否则,将 stdout 中的所有内容都扔掉。问题是当IS_VERBOSE为假时,我的命令变成
curl $BLAH \> /dev/null
Run Code Online (Sandbox Code Playgroud)
更一般地,命令替换会转义字符> >> & | # $和其他可能的字符。如何在不使用命令替换进行转义的情况下输出这些符号?
如何编写一个 bash 脚本,该脚本遍历 parent_directory 中的每个目录并对特定文件执行命令。
目录结构如下:
Parent_dir/
dir1/
acc.bam
dir2/
acc.bam
dir3/
acc.bam
... around 30 directories
Run Code Online (Sandbox Code Playgroud)
这是我要使用的命令:
java8 -jar /picard.jar CollectRnaSeqMetrics REF_FLAT=/refFlathuman.refflat STRAND_SPECIFICITY=NONE I=acc.bam O=output
Run Code Online (Sandbox Code Playgroud)