簡體   English   中英

Bash腳本編寫和比較2個目錄-初學者

[英]Bash scripting and comparing 2 directories - Beginner

我的問題是我必須檢查$directory中包含哪些文件,然后我必須制作一個具有我指定名稱的新文件,並比較該目錄中是否不存在該名稱(比較2個目錄)。

下面是我的代碼:

directory=$(pwd -L "/$nameProject")
read -p "Enter repo name: " nameRepo

# Check if repo name exists in $directory

if [$(find "$directory/$nameProject" -path "$directory/$nameProject/*")==$("$directory/$nameProject/$nameRepo")]; then
    instruction..
fi

感謝您的任何幫助!

您是否嘗試過[[! -d“ $ directory / $ nameProject / $ nameRepo” &&! -f“ $ directory / $ nameProject / $ nameRepo”]]; 然后mkdir“ $ directory / $ nameProject / $ nameRepo” fi

您可以將上述if循環一分為二,並通過刪除顯示適當的錯誤!

空格對於外殼很重要。 報價也是如此。 您需要[==]周圍有空格(盡管];可以)。 (從技術上講,比較運算符是=而不是== 。)。

find可以返回多個結果,這將給您的測試帶來問題。

如果要測試具有給定名稱的目錄(或文件)是否存在,則不需要(或不想)使用find 您可以直接使用[測試二進制文件/內置specbashref-d-f (和-e )測試。

if [ -d path/to/directory ]; then
    echo "Was a directory"
else
    echo "Was not a directory"
fi

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM