我需要編寫一個shell腳本,從環境中讀取變量。如果它指向的文件不存在,我想創建它。如何在shell腳本中創建文件
此文件路徑可能包含一些中間不存在的目錄,因此這些也需要創建。因此,mkdir -p既不在這裏也不在這裏工作。
解決方法是什麼?
謝謝!
我需要編寫一個shell腳本,從環境中讀取變量。如果它指向的文件不存在,我想創建它。如何在shell腳本中創建文件
此文件路徑可能包含一些中間不存在的目錄,因此這些也需要創建。因此,mkdir -p既不在這裏也不在這裏工作。
解決方法是什麼?
謝謝!
mkdir -p "`dirname $foo`"
touch "$foo"
dirname
適用於任意路徑;它不檢查路徑是否在使用中(文件是否指向存在)。
爲什麼不把兩者結合起來? mkdir -p /directories/.... && touch /directories/file
'&'操作符不會做你想要的。你可能是指'&&' – wormsparty
美麗,+1。 「所以既沒有mkdir -p在這裏工作也沒有簡單的觸摸在這裏工作」 - 我們將會看到這個,我的漂亮:-) – paxdiablo
謝謝@larsmans ......迫不及待地接受這個答案! :-) – xyz
這將在錯誤的(當前)目錄中創建文件。你不需要'basename'。 – knittl