Yaparak dizin sahibini belirleyebilir biliyorum:
ls -ld ~/foo | awk '{ print $3 }'
Daha sonra bunu yaparak mevcut kullanıcıyla karşılaştırabilirsiniz:
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
Ancak sahibi olmadan yazma izniniz olabilir. Bunu nasıl belirliyorsunuz?
stat
Modern Linux sistemlerine özgü olduğunu unutmayın , diğer unices farklıstat
veya hiç olmayabilir . Ls ayrıştırma genellikle sorun için bir reçetedir , ancak üçüncü kelime olarak sahibini ayrıştırma çoğunlukla işe yarar (işler daha sonra bozulur); hala mükemmel değil (bazı sistemler kullanıcı adlarında boşluklara izin verir).