我有一个Java应用程序,它调用一个使用"$@"
调用另一个shell命令的bash脚本。我需要将一个文字制表符传递给它调用的最后一个命令。如果我使用$'\t'
直接调用第二个命令,它可以工作,但如果我使用$'\t'
作为java.lang.ProcessBuilder
中的一个参数,它只是将其作为字符串传递。
答案 0 :(得分:0)
两个可能的问题:
$'\t'
,它根本不会传递给shell,因此永远不会转换为制表符。 $'\t'
,则会使用/bin/sh
调用它,而不是bash,所以bash $''
等扩展程序不可用。您需要传递文字制表符,而不是$'\t'
序列。