首页 > 解决方案 > 在 bash 脚本中的目录内创建文件

问题描述

我在 HDFS 上有一条路径

old_file_path="/user/projects/dir1/dir2/dir3/$variable1/$variable2"

其中 variable1 和 variable2 是存储在变量中的目录的名称。

我想在 variable2 目录中创建一个文件,其名称与存储在我正在使用的变量 newMemCount 命令中的值相同

hadoop fs -touch $old_file_path/$newMemCount

我得到的错误是

-touch: Unknown command

标签: bashhdfs

解决方案


hadoop fs命令不支持任何touchFS shell 命令,因此您的错误。但是,它确实支持一个touchz命令,该命令的行为方式与 *nixtouch在不存在文件时的行为方式相同(但是,如果存在非空文件,它确实会引发错误,而 *nixtouch只会更新其修改时间)。

因此,我认为您正在寻找以下内容:

hadoop fs -touchz $old_file_path/$newMemCount

推荐阅读