ディレクトリ構造が不足しているファイルを作成するコマンドはありますか?ディレクトリ構造が不足しているファイルを作成するためのコマンドはありません
シェルスクリプトに変数LOG_STORAGE_PATH=/var/log/app-log/access.log
があり、app-log
ディレクトリとaccess.log
ファイルが存在するかどうかはわかりません。
存在しない場合はすべての中間ディレクトリを作成するmkdir -p </some/random/path>
のような1つのコマンドが存在し、その間に不足しているディレクトリがあるファイルを作成します。
これは
LOG_STORAGE_PATH=/var/log/app-log/
ACCESS_LOG_FILE=access.log
ACCESS_LOG_FILE_PATH=${LOG_STORAGE_PATH}/${ACCESS_LOG_FILE}
if [ ! -d ${LOG_STORAGE_PATH} ]
then
mkdir -p ${LOG_STORAGE_PATH}
fi
if [ ! -f ${ACCESS_LOG_FILE_PATH} ]
then
touch ${ACCESS_LOG_FILE_PATH}
fi
の助けを借りて行われていたであろう私はmkdir -p
と同じ機能を持つtouch
コマンドを探しているが、その存在はなかったです。
ディレクトリが不足しているファイルを作成できるコマンドがある場合、またはディレクトリが存在する場合は、ディレクトリまたはファイルが存在する場合でも、access time
を更新すると非常に便利です。ファイル。
だけの思考のために、多分私達は私達のスクリプトでif [ ! -f <some file> ]
またはif [ ! -d <some dir path> ]
を使用する必要はありません、我々は直接touch -p ${ACCESS_LOG_FILE_PATH}
[Unix - フォルダとファイルのパスを作成する]の可能な複製(http://stackoverflow.com/questions/9452935/unix-create-path-of-folders-and-file) – piyushj
あなたは'-d'と' -f'でテストします。単に 'mkdir -p'と' touch'を使ってください。 – user1934428