如何檢查某個文件(用戶選擇)是否存在於某個地方?如何檢查Unix中的文件存在?
$org
是我選擇要設置的路徑
if [ -e $org/$1]
then
echo "Do you want to overwrite"
exit 1
可變難道我使用if語句或getopts的?如果
如何檢查某個文件(用戶選擇)是否存在於某個地方?如何檢查Unix中的文件存在?
$org
是我選擇要設置的路徑
if [ -e $org/$1]
then
echo "Do you want to overwrite"
exit 1
可變難道我使用if語句或getopts的?如果
-f
檢查路徑存在並且是文件
-d
檢查的路徑存在且是一個目錄
這是我創建回收站的bash腳本的一部分, 這個語法正確嗎? if [-e $ org/$ 1] $ org是文件最初存在的位置。我這樣做,所以如果用戶正在嘗試恢復文件,並且原始目的地中有一個文件具有相同的名稱,我想問用戶'是否要覆蓋?' – Tom
值得注意的是'-f'只能檢測普通文件。它不會檢測設備文件或命名管道等特殊文件。它也不匹配死符號鏈接。 –
應該有$org/$1
和]
之間的空間。
試試這個:
if [ -e "$org/$1" ]; then
echo "Do you want to overwrite"
fi
我想我在寫這個答案時誤解了你的問題。我對getopts並不熟悉,但在簡單情況下,帶'-e「$ org/$ 1」'的if語句正常工作。 – Random
你的語法不正確。 '$ org/$ 1'和']'之間應該有一個空格。正確的形式是'if [-e $ org/$ 1]'。看看我的答案。 – Random