我怎么运行命令:
hdfs dfs -test -d /user/me/dirs
我必须输入$?
才能获得结果:
sh: 0: command not found
有没有办法可以得到结果(0或1)本身而不是其他文本?
在bash上非常可怕,所以我可能会遗漏一些东西
答案 0 :(得分:3)
在bash中,$?
为您提供上一个命令的退出代码。只需键入$?
将导致shell尝试将该返回代码作为命令执行(通常不是您想要的)。您可以使用echo $?
打印值,或使用retcode=$?
将其保存在变量中。
退出代码通常不会打印到您的shell。您可能看不到任何其他输出的原因是因为hdfs
命令可能无法在屏幕上打印任何文本(通过stdout
或stderr
)。
我怀疑你最好的选择可能是hdfs dfs -test -d /user/me/dirs; echo $?
,或者某个使用变量的变体。