วิธีหลบหนี“ -” ใน bash [ซ้ำกัน]


14

ซ้ำเป็นไปได้:
เครื่องมือ Unix: จะเกิดอะไรขึ้นถ้าไฟล์ชื่อลบบางอย่าง?

โปรดบอกฉันเกี่ยวกับวิธีหลบหนี:

[root @ unix ~] # ./-sh
-bash: ./-sh: การอนุญาตถูกปฏิเสธ
[root @ unix ~] # chmod + x -sh
chmod: โหมดที่ไม่ถูกต้อง: `-sh '
ลองใช้ `chmod --help 'สำหรับข้อมูลเพิ่มเติม
[root @ unix ~] #

# chmod a + x "\\ - sh" chmod: ไม่สามารถเข้าถึง `\\ - sh ': ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
soundhax

คำตอบ:


24

--ใช้

chmod +x -- -shเช่น ในภาษา GNU --หมายถึงการสิ้นสุดตัวเลือกดังนั้นจึง-shไม่มีการแยกวิเคราะห์เป็นตัวเลือกอีกต่อไป

[แก้ไข] เพิ่มตัวอย่าง:

ด้วง: / home / hennes / test> touch - -sh

ด้วง: / home / hennes / test> ls -l - -sh
-rw ------- ผู้ใช้ 1 คน 0 2013-01-04 17:20 -sh

ด้วง: / home / hennes / test> chmod + x - -sh

ด้วง: / home / hennes / test> ls -l - -sh
-rwx ------ ผู้ใช้ 1 คน 0 2013-01-04 17:20 -sh

น่าสนใจนี่ดูเหมือนจะไม่ทำงานกับ GNU echo แม้ว่ามันจะทำงานได้กับ GNU printf งานนี้: printf -- -sh. echo -n -- -shและนี่ไม่ได้:
Lukas Pokorny
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.