【问题标题】:Pass a special variable (~ tilde) to Java program将特殊变量(~波浪号)传递给 Java 程序
【发布时间】:2013-09-15 13:16:13
【问题描述】:

我正在尝试运行一个将“~”波浪号作为命令行参数的 java 程序。不幸的是,当我运行程序时,我得到的是我不想要的打印的主目录。我不知道我怎样才能达到同样的效果?

public class Test {

        public static void main(String[] args) {
                System.out.println(args[0]);
        }

}

【问题讨论】:

  • 我不想改变传递参数的方式。它的固定

标签: java unix


【解决方案1】:

将波浪号放在单引号中:

java mypackage.MyClass '~'

我假设您使用的是 bash shell,在这种情况下,~ 会自动扩展到您的主目录。将它放在单引号中告诉 shell 不要扩展它。

【讨论】:

  • 或在波浪号前加上反斜杠(少一个字符:P)
  • 我不想改变传递参数的方式。它的固定
  • @WarriorPrince, java 因为tilde expansion 而从来没有看到~ 所以你唯一的选择(没有可怕的hackery)是正确地传递命令行参数。
猜你喜欢
  • 1970-01-01
  • 2017-03-20
  • 2019-05-03
  • 2015-05-05
  • 2021-08-12
  • 2016-03-26
  • 2018-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多