小编asm*_*ean的帖子

如何防止 bash 命令替换输出被转义?

我试图在 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 shell-script command-substitution

6
推荐指数
1
解决办法
3354
查看次数

如何转到每个目录并对特定文件执行命令?

如何编写一个 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)

bash

3
推荐指数
2
解决办法
2万
查看次数

标签 统计

bash ×2

command-substitution ×1

shell-script ×1