我沒有放任何東西 巴什而且,當我進入Python的美好世界時,我已經忘記了另一個對我有很大幫助的朋友🙂
正如標題所示,在這裡我向Bash愛好者添加了一些東西……我將向您展示如何使用以下方法檢查系統中是否存在文件或文件夾: if
我們將創建一個.sh文件並為其授予執行權限,為此,只需在終端中放置以下命令即可:
觸摸test.sh && chmod + x test.sh
這是創建文件(觸摸test.sh),還授予您執行權限(chmod + x test.sh)
然後,在其中寫入以下內容:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
這是什麼
簡單😀
第一行-» 如果[-d / opt /];
在這裡,我們問/ opt /目錄是否存在? 是目錄/文件夾,因為 -d 表示目錄或文件夾。
然後,如果有的話,我們將在終端«是的,它確實存在。»(這是第2和3行)
否則/ opt /不存在,那麼我們將打印«不,它不存在»(第4和5行)
然後在最後一行(數字6)中,關閉if和僅此而已。
做測試,它將顯示/ opt /確實存在。
如果要讓我向您顯示其他文本(不存在的文本),請更改/ opt /,以選擇系統中不存在的任何其他文件夾,例如:/ asd /
如您所見,-d幫助我們知道目錄是否存在,現在,如果我們將-d更改為-f,它將檢查文件是否存在(-d =目錄,-f =文件/文件)
例如:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
以下是選項列表:
-d -»檢查某個目錄是否存在
-f -»檢查某個文件是否存在
-w -»檢查某個文件是否具有寫權限
-x -»檢查某個文件是否具有執行權限。
而且,沒有什麼可添加的🙂
我知道這對於那些喜歡使用Bash編程的人非常有用且有趣
問候
另一種無需... if。then..else的方式:
test -f /etc/hosts && elcomando
或者也
test ! -f /etc/hosts && echo "no se encontró el archivo"
等等。
對😀
…O_O…你是雨果,古巴的雨果? …使用Windows8,WTF !!!
好吧,是的,我已經熟悉這個操作系統,如果我必須坦率地說,我發現有用的唯一東西就是複制管理器,否則我個人覺得很麻煩,特別是它的混合接口和Metro應用程序。 我不喜歡Vista和7(儘管效率更高),但我也不喜歡。 我只使用它來播放NFS13和Skyrim,但是該OS佔用了太多空間,因此我不得不刪除Linux分區[snif]。
但是,為了讓您省心,我將告訴您前一天我下載了86月的Arch ISO,並且計劃在收到回購協議後立即對其x64-XNUMX版本進行一些測試(您會收到嗎?)。 現在,正如我所看到的,它默認情況下使用簽名的程序包,它使我更有信心潛水。
我父親還告訴我,他將給我寄送Sony Xperia,我想用它來學習一些Android編程技巧,這是一個未完成的願望。 如此冷靜,我還沒有走到力量的陰暗面,buahahahaha😉
人測試
當然。
Wenas!..
我們可以做同樣的一個....但是目錄作為參數傳遞..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
我們稱其為:
./test.sh / opt /
問候語
如果不是周期xD
它就像我正在做腳本的手套一樣適合我。 使用通配符有效嗎? 例如,要查找是否有任何.mp4,然後在其上運行某些內容。
如果[-f * .mp4];
...
是的,這是完全有效的..
即使通過參數..“ * .mp4”
例如:
if [ -f $1 ];
then
rm -r $1
else
ls
fi
如果您調用它:./test.sh * .mp4
如果找到.mp4文件,則會將它們刪除.. ..,但不會在該目錄中列出文件。
感謝您的反饋和提示! 🙂
您錯過了f xD
rm -rf $ 1
這更令人興奮!
太好了!!!!,每天我都對Linux產生了更多的愛,Windows降級到了我的硬盤驅動器的某個暗角,該硬盤即將被擦除,以取代Linux。
太好了....然後下一步..把它拿出來..
大約6個月前我的所有機器上都只有GNU / Linux,我不需要更多....不是W $ ..或Wine ..而且我很高興那樣..😉
而且我正在感染周圍的環境..因為每個人都看到我的Arch,快速,高效,快樂..他們要求我安裝Linux .. .yeah!..😀
您還可以檢查它們的各種擴展名,可以使用類似
#!/斌/慶典
目錄= $ HOME /下載
如果[$目錄]; 然後
echo“這是文件類型列表:”
迴聲“ mp1,mp2,mp3,mp4,wav,flac,flaad,aud,midi”
ls {* .mp ?, *。wav,*。fla,*。aud * .midi}
fi
使用{}可以讓您在這種情況下指定多個擴展名,使用“?” ,是一個通配符,可讓您使用“任何字符”。
希望對您有幫助
我建議使用命令find [目錄] [search_pattern] –exec [命令] {} \
它不起作用,我將這些文件放在目錄中:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
search.sh
#!/斌/慶典
路徑= / tmp /測試
cd $ ROUTE
ls -la | awk'{print»«$ 9}'
如果[[-f AB。文本文件]]; 然後
echo»如果有AB,請輸入IF。文本文件 ”
fi
如果[-f AB20160422.TXT]; 然後
回顯“特定AB文件的輸入”
fi
當我把[-f AB.TXT]出現錯誤
當我把[[-f AB.TXT]]沒有給出錯誤,但找不到文件
它僅在放入特定文件時才有效,例如:
如果[-f AB20160422.TXT]; 然後
我無法使用通配符*還是?
#!/ usr / bin / env bash
#.編碼= utf-8.
內容
EXIT_OK = 0
EXIT_BAD = 66
粗體=»\ 033 [1m»
NC =»\ 033 [0m»
紅色=»\ 033 [31m»
如果[! “ $ 1”];
然後
迴聲“缺少參數”
退出$ EXIT_BAD
fi
cd“ $ 1”
文件=»ls -h1 $ 1»
$中的文件($個文件); 做
echo -e“您可以在這裡使用$ BOLD $文件$ nc做任何事情”
完成
退出$ EXIT_OK
@KZ,進一步說明:«這是我進入Python的美好世界»!
哈哈哈哈...一點一點🙂
我仍然只是Python的新手,我幾乎沒有時間花很多時間來學習它,所以我很慢,很慢,但是我在學習中肯定會😀
非常感謝😀就在昨天,我在想如何做到這一點。
這與ncurses很棒🙂
一言以蔽之……很棒!
很長一段時間以來,我一直在完善一個腳本以從Internet下載,但是我面臨的問題是下載我要求1的文件,然後又無法驗證1ro的存在。
很好的兔兔。
感謝智利的巨大貢獻。
每天LINUX都會讓我感到驚喜,
萬歲免費軟件MIERDAAAA。
為...服務
檢查文件是否來自目錄
如果我想檢查路徑«/ tmp / receivers»中是否存在任何文件,請執行任何命令,結果如何?
我將非常感激
問候
親愛的,並通過IF確定文件是否已完全填充???。 我問這是因為,當您填充文件進行傳輸時,即使只有一半的數據,它也可以接收它。
問候和感謝您的答复。
好吧,我想您還應該添加一個示例,例如“檢查是否沒有”,“文件”或“目錄”
檢查它是否不存在,例如,使用變量->
目錄
#!/斌/慶典
目錄=»$ HOME /測試目錄»
文件=»$ HOME /測試文件»
如果[! -d“ $目錄”]; 然後
迴聲“沒有$目錄”
迴聲“創建->“ $目錄”
mkdir“ $目錄”
其他
echo“目錄” $目錄“已存在
fi
如果[! -d“ $ File”]; 然後
迴聲“文件$不存在”
迴聲“創建->“ $文件”
觸摸“ $ File”
其他
迴聲“文件” $文件“已經存在
fi
當您稍後執行mkdir時,請檢查終端是否可以創建它,因為如果它是根或系統文件夾,則它可能會損壞
問候語KZKG ^ Gaara查詢我如何使用curl。 我想知道如何從控制台ping url以查看其是否可用,例如 http://portal.com/directorio/archivo1.php file1將用於存儲訪問IP的位置是用於監視團隊,我需要每半小時製作一次該圖釘,以使我知道公共IP,因為公共IP會不時更改,並且無法通過ssh連接。
問候預先感謝你,上帝保佑你。
您好這樣,
首先,您必須說(例如)IP變量是該文件的內容,為此,您必須:
1.下載文件
2.查看其內容並從那裡獲取IP
3. IP是變量
例如:
在這裡,我們下載文件-»wget http://portal.com/directorio/archivo1.php -o 文件.html
然後,我們為變量分配內容:-»:$ {IP:=`cat file.html`}
..假設該文件的內容僅具有IP,如果沒有,則必須使用grep,awk或head。
一旦將IP作為變量,剩下的就是世界上最簡單的事情🙂
如果您願意,請透過電子郵件給我寫信(kzkggaara[at]desdelinux[dot]net)我很樂意幫助你
非常感謝kzkggaara非常感謝。
嗨,我對計算了解不多,也不知道這篇文章是否與我遇到的問題有關。
如果您讀了我,我也會發表評論,即使該帖子來自一年前:
事實證明,我在桌面上創建了一個文件夾來存儲一些視頻。 好吧,我刪除了這些視頻,因為我不再需要它們了,現在這個文件夾告訴我它不存在(即使它在我的桌面上可見)。
-這是我的第一個問題:
我無法刪除該文件夾。
-第二個問題,我認為更重要:
為了刪除該文件夾,我放置了一個PHOTOS文件夾。 現在,當我打開“不存在”文件夾時,該文件夾為空,並且照片不存在。
如何恢復照片? 我已經在“顯示隱藏的文檔”文件夾中提供了該選項,但PHOTOS文件夾沒有出現。
希望您知道如何解決。
謝謝。
主要有兩個用戶:root和your_user(例如natalia)。 他們都有個人文件夾。 your_user在/ home中,根目錄在/(根目錄)中。 通過右鍵單擊該文件夾,可以查看它屬於誰。 如果您的文件管理器使用sudo或gksu或kdesu作為根目錄,具體取決於您使用的環境,請轉到根目錄-> root->桌面,您可能會找到照片,然後可以刪除該文件夾。 當您不是文件或目錄的所有者並且沒有訪問權限時,某些發行版會告訴您目錄/文件不存在。 如果您是所有者,並且您不是root用戶,請使用sudo等操作文件管理器,然後轉到根目錄-> / home-> personal_folder->桌面,查看照片是否在那里以及是否可以刪除文件夾。
如果這不起作用,則您將不得不從終端(控制台)上看到其他選項。
你好,你好嗎?我正在用bash進行工作,我想知道如何驗證是否有鍵盤輸入的目錄,例如
#!/斌/慶典
閱讀路線
#Entry〜/桌面
#然後我嘗試瀏覽該目錄
cd $路徑
#我收到以下bash消息:cd:〜/ Desktop:該文件或目錄不存在
我的問題是,我該怎麼做才能從鍵盤輸入它並將其作為目錄路徑?
我怎麼知道一個團體是否存在,
很好,當我按下按鈕cunaguaro時,我的canaima中存在問題,它說沒有文件或目錄,無法解決該問題,其餘的都無法打開cunaguaro,請謝謝。
如果文件名中有空格,如何在BASH中執行if?
例如:
四月data.xlsx
詢問文件是否存在
卡洛斯(Carlos),像這樣:
如果[[“” $ variable“ ==數據\ month \ of \ April.xlsx]]; 然後回顯“匹配”; 科幻
您還可以:
如果[[“ $ variable” =='April.xlsx月份的數據]]; 然後回顯“匹配”; 科幻
另一種選擇:
[[“” $ Variable“ =='April.xlsx的數據]] && echo'matches'|| 迴聲“不匹配”
在互聯網的某些黑暗區域中,他們建議使用[[]]而不是[],如果要比較數字,則:((variable> = 3))&& echo'變量大於或等於3'| | 回顯“變量小於3”
因此,對於數字:
如果((數字!= 4)); 然後回顯“ $ {number}不是4”; 否則回顯“ $ {number}為4”; 科幻
如何編寫代碼以驗證目錄是否包含特定文本,以便能夠對其進行編輯。
例如:
如果(text1)
沒做什麼
其他
將text1更改為text2
一個問題,如何每15秒檢查一次文件是否存在,謝謝。
HOLA,
這個:
如果[-w / home / Komun / Logs / ti]; 然後
找出文件是否可寫。 但這是基於用戶權限的。 是否可以找出該組或其他組是否具有權限?