模棱两可的输入重定向 Java



在Fedora 28上,我正在尝试从标准输入重定向保存在java程序同一文件夹中的.txt文件; 我在终端上写的

cd folderPath
java ClassName < `FileName.txt`

但我收到了这条消息

bash: FileName.txt: command not found...
bash: `FileName.txt`: ambiguos redirection

我错在哪里?谢谢!

您使用了错误的引号:

java ClassName < `FileName.txt`

' 将计算为 shell 子命令,其名称为 FileName.txt

你想要的是单引号或双引号:

java ClassName < 'FileName.txt' # 1
java ClassName < "FileName.txt" # 2
java ClassName < FileName.txt   # 3
  1. 单引号不允许扩展(例如:无'${FILE}'
  2. 双引号允许扩展(例如:如果export FILE=foobar "${FILE}"解析为foobar
  3. 当路径不包含特定字符(如空格)时,不需要引号。

最新更新