./geany_run_script.sh: 5: ./geany_run_script.sh: ./Area_circumference: Permission denied
program exited with code: 126
. ปัญหานี้มักเกิดขึ้นเมื่อฉันพยายามเรียกใช้รหัสของฉัน สิ่งที่อาจเป็นวิธีการแก้ปัญหา?
./geany_run_script.sh: 5: ./geany_run_script.sh: ./Area_circumference: Permission denied
program exited with code: 126
. ปัญหานี้มักเกิดขึ้นเมื่อฉันพยายามเรียกใช้รหัสของฉัน สิ่งที่อาจเป็นวิธีการแก้ปัญหา?
คำตอบ:
นี่คือลิงค์ที่อธิบายเกี่ยวกับการเปลี่ยนแปลงการอนุญาตไฟล์ (และความเป็นเจ้าของ)
หากคุณต้องการข้ามสิ่งเหล่านี้ (ตอนนี้แน่นอน) คุณสามารถสร้างไดเรกทอรี / โฟลเดอร์ในไดเรกทอรีผู้ใช้ที่บ้านของคุณและทำงานกับC
โปรแกรมของคุณ(หรืออื่น ๆ ) ที่นั่น
คุณสามารถเปิด terminal (กดCtrl+ Alt+ T) และcd
ไปที่ไดเรกทอรีเป้าหมาย:
cd /path/to/target
หากต้องการให้สิทธิ์ในการเรียกใช้ไฟล์ "the_file_name" (หากระบบไฟล์อนุญาตให้คุณมีสิทธิ์ RW):
chmod +x the_file_name
Area_circumference
และวาง (เส้นทางของไฟล์จะถูกวาง) เพื่ออัปเดตเนื้อหาคำถามของคุณ ...
คุณต้องให้สิทธิ์ในการดำเนินการเท่านั้น ติดตามสิ่งนี้:
chmod +x filename.sh
./filename.sh
เมื่อเราสร้างไฟล์สคริปต์ใหม่ตามค่าเริ่มต้นจะมีการอ่านและเขียนสิทธิ์ แต่ถ้าเราต้องการที่จะดำเนินการพวกเขาแล้วเราควรให้สิทธิ์ดำเนินการตามที่แสดงด้านบน
เปิดแอปพลิเคชั่นเครื่องเทอร์มินัลของคุณโดยกดCTRL
+ ALT
+ T
หรือใช้ทางลัดแอปพลิเคชันบนสภาพแวดล้อมกราฟิก (เช่นTerminal
หรือxTerm
)
ในหน้าต่างเครื่องแบบซึ่งปรากฏบนหน้าจอคุณจะเห็นตัวอักษรกะพริบเป็นterminal cursor
: เพียงคลิกที่หน้าต่างและเขียนเพื่อป้อนข้อความ (โดยทั่วไปคือคำสั่ง) และกดENTER
เพื่อยืนยันอินพุต
ก่อนที่เคอร์เซอร์จะแสดงรายการตำแหน่งปัจจุบันของคุณในระบบไฟล์จากroot directory
("/") และที่บ้านของคุณ (ที่ซึ่งไฟล์ส่วนบุคคลของคุณ) เรียกว่า "~"
หากต้องการเปลี่ยนไดเรกทอรี / โฟลเดอร์ให้ใช้cd EXISTENTFOLDER
(แทนที่ EXISTENTFOLDER ด้วยชื่อโฟลเดอร์); หากคุณรู้สึกว่าหลงทางเพียงแค่พิมพ์cd
เพื่อกลับไปที่โฮมไดเร็กตอรี่ของคุณในพริบตา!
ตอนนี้ลองแก้ปัญหาของคุณ :
ใช้cd
คำสั่งเพื่อค้นหาไดเรกทอรีด้วยซอร์สโค้ดของคุณ ใช้TAB
เพื่อช่วยคุณ หากคุณดำเนินการls -lh
คุณจะเห็นรายการเส้นทางที่เป็นไปได้ที่จะติดตามและไฟล์ที่จะดำเนินการ
เมื่อคุณพบไฟล์ที่ถูกบล็อกดำเนินการchmod +x FILENAME
(แทนที่ FILENAME ด้วยชื่อไฟล์ซอร์สโค้ดของคุณ)
หากคุณมีไฟล์ที่ถูกบล็อกหลายไฟล์chmod +x *
จะทำการปลดล็อกไฟล์ทั้งหมดในไดเรกทอรีปัจจุบัน ไม่เคย chmod + x ไฟล์ที่เป็นอันตรายหรือไม่ปลอดภัย
ดำเนินการ./FILENAME YOUREVENTUALARGUMENTS
เพื่อเรียกใช้ไฟล์ปฏิบัติการของคุณ
จำไว้ว่าถ้าโปรแกรมรวบรวมของคุณพยายามที่จะอ่าน / เขียนนอกไดเรกทอรีบ้านของคุณคุณจะต้องดำเนินการเป็นโดยใช้root
sudo ./FILENAME YOUREVENTUALARGUMENTS
หากคุณต้องการให้มีคู่มือสำหรับคำสั่งดำเนินการman COMMAND
(แทนที่ COMMAND ด้วยชื่อคำสั่งที่แน่นอน Linux เป็นกรณี ๆ ไป)
เชลล์บางตัวมีOpen terminal here
คำสั่งเพื่อทำให้ชีวิตของคุณง่ายขึ้นค้นหาในอนาคตและจำไว้ว่าเชลล์คำสั่งสามารถเป็นเพื่อนที่ดีที่สุดของคุณได้หากคุณใช้งานได้ดี :-D
มันคือทั้งหมดที่ หากคุณต้องการความช่วยเหลือเพิ่มเติมแสดงความคิดเห็นภายใต้ที่นี่
ถ้าฉันช่วยคุณกดลูกศรขึ้นทางซ้าย ถ้าคุณแก้ปัญหาทำเครื่องหมายคำตอบนี้เป็นคำตอบที่ดีที่สุด
มีประสบการณ์ที่ดีกับ Linux & Ubuntu
Permission denied
ข้อผิดพลาดเกิดขึ้นเฉพาะเมื่อคุณมีสิทธิ์ไม่เพียงพอที่จะเข้าถึงไฟล์นั้น