歧义输入重定向Java

时间:2018-12-29 10:45:41

标签: java linux input io-redirection

在Fedora 28上,我试图从Standard Input重定向一个保存在Java程序相同文件夹中的.txt文件;我在终端

中写过
cd folderPath
java ClassName < `FileName.txt`

但我收到了此消息

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

我错了吗?谢谢!

1 个答案:

答案 0 :(得分:-1)

您使用了错误的引号:

java ClassName < `FileName.txt`

`将求值为名称为FileName.txt的shell子命令。

您想要的是单引号还是双引号:

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