我无法在管道操作符中正确使用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"
不知道该怎么做
if hdfs dfs -test -f "$hdfs_path"; then
echo file exists
else
echo file does not exist
fi
不要使用test括号来运行命令。链接&&
和||
不等同于if语句。