我试图运行以下bash脚本:
#!/bin/bash
CURRENT_HDFS_PATH=`hadoopfs -ls -t -r /$CLEAN_HDFS_PATH | tail -1 | awk -F ' ' '{print $8}'`
echo "Here is the last (most current) file in the history folder to be downloaded=$CURRENT_HDFS_PATH"
以上完全不会产生任何结果。请注意,CLEAN_HDFS_PATH = / temp / local-*。inprogress
当我在命令行中使用以下命令时:
hadoopfs -ls -t -r '/temp/local-*.inprogress' | tail -1 | awk -F ' ' '{print $8}'
我从命令行得到答案。
我的脚本在做什么错?
干杯
答案 0 :(得分:0)
文件名实际上是local-*.inprogress
吗?如果是这样,您的问题是脚本中的通配符扩展。在变量周围添加双引号,看看是否可以像这样工作:
CURRENT_HDFS_PATH=`hadoopfs -ls -t -r "/$CLEAN_HDFS_PATH" | tail -1 | awk -F ' ' '{print $8}'`