将Java命令中的文字选项卡通过shell脚本传递给另一个bash命令

时间:2014-07-17 18:40:40

标签: bash

我有一个Java应用程序,它调用一个使用"$@"调用另一个shell命令的bash脚本。我需要将一个文字制表符传递给它调用的最后一个命令。如果我使用$'\t'直接调用第二个命令,它可以工作,但如果我使用$'\t'作为java.lang.ProcessBuilder中的一个参数,它只是将其作为字符串传递。

1 个答案:

答案 0 :(得分:0)

两个可能的问题:

  • 如果您在ProcessBuilder数组中传递文字的五个字符的字符串$'\t',它根本不会传递给shell,因此永远不会转换为制表符。
  • 如果您在传递给ProcessBuilder的shell调用字符串(不是数组)中传递文字的五个字符的字符串$'\t',则会使用/bin/sh调用它,而不是bash,所以bash $''等扩展程序不可用。

您需要传递文字制表符,而不是$'\t'序列。