在 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
- 单引号不允许扩展(例如:没有
'${FILE}'
) - 双引号允许扩展(例如:如果
export FILE=foobar
,"${FILE}"
解析为foobar
) - 当路径不包含特定字符(例如空格)时,不需要引号。
关于java - Java 不明确的输入重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53968817/