ฉันไม่ได้ใส่อะไรเลย ทุบตีและในขณะที่ฉันเข้าสู่โลกมหัศจรรย์ของ 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 😉
ความนับถือ
อีกวิธีหนึ่งที่ทำได้โดยไม่ต้องถ้า ... แล้ว.. อื่น ๆ :
test -f /etc/hosts && elcomando
หรือยัง
test ! -f /etc/hosts && echo "no se encontró el archivo"
ฯลฯ
ถูกต้อง😀
… O_O …คุณคือ Hugo, Hugo จากคิวบา? …ใช้ Windows8, WTF !!!
ใช่ฉันเริ่มคุ้นเคยกับระบบปฏิบัติการนี้และถ้าฉันต้องเปิดเผยสิ่งเดียวที่ฉันพบว่ามีประโยชน์คือตัวจัดการการคัดลอกมิฉะนั้นฉันจะรู้สึกเจ็บปวดเป็นการส่วนตัวโดยเฉพาะอินเทอร์เฟซแบบไฮบริดและแอพพลิเคชั่นเมโทร ฉันชอบน้อยกว่า Vista และ 7 (แม้ว่าจะมีประสิทธิภาพมากกว่านี้เล็กน้อย) ซึ่งฉันก็ไม่ชอบเหมือนกัน ทั้งหมดที่ฉันใช้เพื่อเล่น NFS13 และ Skyrim แต่ระบบปฏิบัติการนี้ใช้พื้นที่มากจนฉันต้องลบพาร์ติชัน Linux [snif]
อย่างไรก็ตามเพื่อความสบายใจของคุณฉันสามารถบอกคุณได้ว่าวันก่อนเมื่อวานนี้ฉันดาวน์โหลด Arch ISO ในเดือนมกราคมและฉันวางแผนที่จะลองใช้เวอร์ชัน x86-64 ทันทีที่ฉันได้รับ repo (คุณจะมี มัน? ตอนนี้อย่างที่ฉันเห็นว่ามันใช้แพ็กเกจที่เซ็นชื่อเป็นค่าเริ่มต้นมันทำให้ฉันมีความมั่นใจมากขึ้นในการดำน้ำ
และพ่อของฉันยังบอกฉันด้วยว่าเขาจะส่ง Sony Xperia มาให้ฉันซึ่งฉันต้องการใช้ประโยชน์จากการเรียนรู้การเขียนโปรแกรมสำหรับ Android ซึ่งเป็นความปรารถนาที่รอดำเนินการ ใจเย็น ๆ นะฉันยังไม่ได้ไปสู่ด้านมืดของพลังหรอกบูฮาฮา😉
การทดสอบผู้ชาย
แน่ใจ
เวนัส! ..
เราสามารถสร้างแบบเดียวกันได้ .. .. แต่ไดเร็กทอรีถูกส่งเป็นพารามิเตอร์ ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
และเราเรียกมันว่า:
./test.sh / opt /
คำอวยพร ..
IF ไม่ใช่วัฏจักร 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 .. .. เย้! .. 😀
คุณยังสามารถตรวจสอบส่วนขยายต่างๆได้คุณสามารถใช้สิ่งต่างๆเช่น
#! / bin / ทุบตี
ไดเรกทอรี = $ HOME / ดาวน์โหลด
ถ้า [$ Directory]; แล้ว
echo "นี่คือรายชื่อประเภทไฟล์:"
เสียงสะท้อน "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
fi
การใช้ {} ช่วยให้คุณระบุส่วนขยายหลายรายการในกรณีนี้การใช้ "?" เป็นสัญลักษณ์แทนซึ่งให้คุณใช้ "อักขระใดก็ได้"
ฉันหวังว่ามันจะช่วยคุณได้
ฉันแนะนำคำสั่ง find [directory] [search_pattern] –exec [command] {} \
ไม่ได้ผลฉันใส่ไฟล์เหล่านี้ในไดเร็กทอรี:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
search.sh
#! / bin / ทุบตี
PATH = / tmp / TEST
cd $ ROUTE
ls -la | awk '{พิมพ์»« $ 9}'
ถ้า [[-f AB.TXT]]; แล้ว
echo »ป้อน IF หากมี AB.TXT »
fi
ถ้า [-f AB20160422.TXT]; แล้ว
echo "อินพุตสำหรับไฟล์ AB เฉพาะ"
fi
เมื่อฉันใส่ [-f AB.TXT] แสดงข้อผิดพลาด
เมื่อฉันใส่ [[-f AB.TXT]] ไม่พบข้อผิดพลาด แต่ไม่พบไฟล์
จะใช้ได้เฉพาะเมื่อฉันใส่ไฟล์เฉพาะตัวอย่างเช่น:
ถ้า [-f AB20160422.TXT]; แล้ว
ฉันไม่สามารถใช้งานกับสัญลักษณ์แทนได้ * หรือ?
#! / usr / bin / env bash
#.การเข้ารหัส = utf-8.
สารบัญ
EXIT_OK = 0
EXIT_BAD = 66
BOLD = » \ 033 [1 ม»
NC = » \ 033 [0 ม»
สีแดง = » \ 033 [31 นาที»
ถ้า [! "$ 1"];
แล้วก็
echo "ไม่มีพารามิเตอร์"
ออกจาก $ EXIT_BAD
fi
cd "$ 1"
ไฟล์ = » ls -h1 $ 1 »
สำหรับไฟล์ใน $ ($ files); ทำ
echo -e "คุณสามารถทำอะไรก็ได้กับ $ BOLD $ file $ nc ที่นี่"
ทำ
ออกจาก $ EXIT_OK
@KZ บอกเพิ่มเติมเกี่ยวกับสิ่งนี้: "และนั่นเป็นเพราะฉันกำลังเข้าสู่โลกมหัศจรรย์ของ Python"!
ฮ่าฮ่าฮ่าฮ่า ... ทีละนิด🙂
ฉันยังเป็นมือใหม่กับ Python ฉันแทบไม่มีเวลาทุ่มเทชั่วโมงต่อชั่วโมงให้กับมันดังนั้นฉันจึงช้าใช่ช้า แต่มั่นใจในการเรียนรู้😀
ขอบคุณมาก😀เมื่อวานฉันคิดว่าจะทำยังไงดี
สิ่งนี้กับ ncurses นั้นยอดเยี่ยมมาก🙂
ใน 1 คำ ... ยอดเยี่ยม!
เป็นเวลานานที่ฉันปรับปรุงสคริปต์เพื่อทำการดาวน์โหลดจากอินเทอร์เน็ต แต่ฉันประสบปัญหาในการดาวน์โหลดไฟล์ที่ฉันขอ 1 ครั้งและอีกครั้งโดยไม่สามารถตรวจสอบการมีอยู่ของ 1ro ได้
tuto ดีมาก
การสนับสนุนอย่างมากจากชิลีเป็นที่ชื่นชม
ทุกวัน LINUX ทำให้ฉันประหลาดใจมากขึ้น
ซอฟต์แวร์ฟรีที่ใช้งานได้ยาวนาน MIERDAAAA
ให้บริการสำหรับ
ตรวจสอบว่าไฟล์มาจากไดเร็กทอรีหรือไม่
ถ้าฉันต้องการตรวจสอบการมีอยู่ของไฟล์ในพา ธ « / tmp / receiver »ให้รันคำสั่งใด ๆ มันจะเป็นอย่างไร?
ฉันจะขอบคุณมาก
ความนับถือ
เรียนและเพื่อตรวจสอบโดย IF ว่ามีการเติมไฟล์ครบถ้วนหรือไม่ ??? ฉันถามอย่างนี้เพราะเมื่อคุณกรอกไฟล์สำหรับการส่งข้อมูลมันสามารถใช้ข้อมูลได้แม้จะมีข้อมูลเพียงครึ่งเดียวก็ตาม
ทักทายและขอบคุณสำหรับการตอบกลับของคุณ
ฉันคิดว่าคุณควรเพิ่มตัวอย่างเช่น "ตรวจสอบว่าไม่มี" a "file" หรือ "directory" เช่น
เพื่อตรวจสอบว่าไม่มีอยู่จริงตัวอย่างเช่นใช้ตัวแปร ->
ไดเรกทอรี
#! / bin / ทุบตี
Directory = » $ HOME / Test Directory »
ไฟล์ = » $ HOME / ไฟล์ทดสอบ»
ถ้า [! -d "$ Directory"]; แล้ว
echo "ไม่มี $ Directory"
echo "กำลังสร้าง ->" $ Directory "
mkdir "$ Directory"
อื่น
echo "Directory" $ Directory "มีอยู่แล้ว
fi
ถ้า [! -d "$ ไฟล์"]; แล้ว
echo "ไม่มีไฟล์ $"
echo "กำลังสร้าง ->" $ File "
แตะ "$ File"
อื่น
echo "File" $ File "มีอยู่แล้ว
fi
เมื่อคุณทำ mkdir ให้ตรวจสอบในภายหลังว่าเทอร์มินัลสามารถสร้างได้หรือไม่เพราะมันสามารถทำลายลูกบอลได้หากเป็นโฟลเดอร์ที่รูทหรือระบบฮะ
สวัสดี KZKG ^ กาอาระเป็นคำถามที่ฉันจะใช้ curl ฉันต้องการทราบว่าฉันทำอย่างไรจากคอนโซลไปยัง ping url เพื่อดูว่าสามารถใช้ได้หรือไม่ http://portal.com/directorio/archivo1.php โดยที่ file1 จะจัดเก็บ 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 และ root ใน / (root directory) โดยคลิกขวาที่โฟลเดอร์เพื่อดูว่าเป็นของใคร หากรูทด้วยตัวจัดการไฟล์ของคุณโดยใช้ sudo หรือ gksu หรือ kdesu ขึ้นอยู่กับสภาพแวดล้อมที่คุณใช้ไปที่ไดเร็กทอรีรูท -> root -> เดสก์ท็อปและคุณอาจพบรูปภาพและคุณสามารถลบโฟลเดอร์ได้ distros บางตัวเมื่อคุณไม่ใช่เจ้าของไฟล์หรือไดเร็กทอรีและคุณไม่มีสิทธิ์การเข้าถึงบอกคุณว่าไม่มีไดเร็กทอรี / ไฟล์ หากคุณเป็นเจ้าของและคุณไม่ได้รูทให้ทำเช่นเดียวกันกับตัวจัดการไฟล์ด้วย sudo ฯลฯ และไปที่ไดเร็กทอรีรูท -> / home -> personal_folder -> เดสก์ท็อปและดูว่ามีรูปภาพอยู่หรือไม่และคุณสามารถลบได้หรือไม่ แฟ้ม.
หากไม่ได้ผลคุณจะต้องดูตัวเลือกอื่น ๆ จากเทอร์มินัล (คอนโซล)
สวัสดีคุณเป็นอย่างไรบ้างฉันทำงานใน bash และฉันต้องการทราบวิธีตรวจสอบว่ามีไดเรกทอรีที่ป้อนจากแป้นพิมพ์หรือไม่เช่น
#! / bin / ทุบตี
อ่านเส้นทาง
#Enter ~ / เดสก์ท็อป
# จากนั้นฉันก็ลองนำทางไปยังไดเร็กทอรีนั้น
cd $ path
# ฉันได้รับข้อความทุบตีต่อไปนี้: cd: ~ / Desktop: ไม่มีไฟล์หรือไดเร็กทอรี
คำถามของฉันคือฉันจะทำอย่างไรเพื่อให้ฉันป้อนจากแป้นพิมพ์และใช้เป็นเส้นทางไดเรกทอรี
แล้วจะรู้ได้อย่างไรว่ามีกลุ่มอยู่
ดีฉันมีปัญหาใน canaima ของฉันเมื่อฉันกดปุ่ม cunaguaro มันบอกว่าไม่มีไฟล์หรือไดเร็กทอรีเพราะจะแก้ปัญหานั้นได้และส่วนที่เหลือไม่เปิด cunaguaro โปรดขอบคุณ
คุณจะทำ if ใน BASH ได้อย่างไรหากชื่อไฟล์มีช่องว่าง?
ตัวอย่างเช่น:
ข้อมูลเดือนเมษายน xlsx
เพื่อถามว่ามีไฟล์อยู่หรือไม่
Carlos เช่นนี้:
ถ้า [["$ variable" == Data \ month \ of \ April.xlsx]]; จากนั้นสะท้อน 'การจับคู่'; fi
คุณยังสามารถ:
if [["$ variable" == 'ข้อมูลสำหรับเดือนเมษายน. xlsx']]; จากนั้นสะท้อน 'การจับคู่'; fi
ตัวเลือกอื่น:
[["$ Variable" == 'ข้อมูลสำหรับ April.xlsx']] && echo 'ตรงกัน' || echo 'ไม่ตรงกัน'
ในพื้นที่มืดบางแห่งของอินเทอร์เน็ตแนะนำให้ใช้ [[]] แทน [] และหากคุณกำลังจะเปรียบเทียบตัวเลขแล้ว: ((ตัวแปร> = 3)) && echo 'ตัวแปรมีค่ามากกว่าหรือเท่ากับ 3' | | echo 'ตัวแปรน้อยกว่า 3'
ดังนั้นสำหรับตัวเลข:
ถ้า ((หมายเลข! = 4)); แล้ว echo "$ {number} ไม่ใช่ 4"; อื่น echo "$ {number} คือ 4"; fi
คุณจะสร้างรหัสเพื่อตรวจสอบความถูกต้องได้อย่างไรว่าไดเร็กทอรีมีข้อความเฉพาะเพื่อให้สามารถแก้ไขได้
ตัวอย่างเช่น:
ถ้า (text1)
ไม่ทำอะไร
อื่น
เปลี่ยน text1 เป็น text2
คำถามจะตรวจสอบทุก ๆ 15 วินาทีได้อย่างไรว่ามีไฟล์อยู่หรือไม่ขอบคุณ
สวัสดี
นี้:
ถ้า [-w / home / Komun / Logs / ti]; แล้ว
ดูว่าไฟล์นั้นสามารถเขียนได้หรือไม่ แต่ขึ้นอยู่กับสิทธิ์ของผู้ใช้ สามารถทำได้เพื่อดูว่ากลุ่มหรือคนอื่น ๆ มีสิทธิ์หรือไม่?