不能将管道与hdfs一起使用

rm5edbpk  于 2022-12-09  发布在  HDFS
关注(0)|答案(1)|浏览(168)

我无法在管道操作符中正确使用hdfs dfs。

[[ 'hdfs dfs -test -f "$hdfs_path"' ]] && echo "file exists" || echo "file doesn't exist"

无论文件是否存在,此函数始终返回文件存在。
如果不使用方括号:

[[ hdfs dfs -test -f "$hdfs_path" ]] && echo "file exists" || echo "file doesn't exist"

我得到这个错误:bash: syntax error near dfs'
这确实有效:

[[ -f "$path" ]] && echo "file exists" || echo "file doesn't exist"

不知道该怎么做。

aiazj4mn

aiazj4mn1#

if hdfs dfs -test -f "$hdfs_path"; then
    echo file exists
else
    echo file does not exist
fi

不要使用测试括号来运行命令。链接&&||不等同于if语句。

相关问题