ฉันรู้ว่าคุณสามารถกำหนดเจ้าของไดเรกทอรีโดยทำ:
ls -ld ~/foo | awk '{ print $3 }'
จากนั้นคุณสามารถเปรียบเทียบกับผู้ใช้ปัจจุบันโดยทำสิ่งนี้:
if [[ $(ls -ld ~/foo | awk '{ print $3 }') == "$USER" ]] # or $(id -u -n ) instead of $USER
then
echo "You are the owner"
else
echo "You are NOT the owner"
fi
แต่คุณสามารถมีสิทธิ์เขียนโดยไม่ต้องเป็นเจ้าของ คุณทราบได้อย่างไร
stat
เฉพาะกับระบบ Linux ที่ทันสมัย, unices อื่น ๆ อาจมีความแตกต่างstat
หรือไม่มีเลย การแยกคำ ls มักเป็นสูตรสำหรับปัญหาแต่การแยกเจ้าของเป็นคำที่สามส่วนใหญ่ใช้งาน (สิ่งที่ทำลายลงในภายหลัง); มันยังไม่สมบูรณ์ (บางระบบอนุญาตให้เว้นวรรคในชื่อผู้ใช้)