我有一個腳本這行我創建獲取一個文件的所有者,並將其應用到另一個
ls -l ../$_module.php | awk '{print $3}'
簡單地打印出文件的所有者。是否可以將$3
分配給一個變量(我們稱之爲_owner),然後我可以在該腳本創建的文件上運行 chmod $_owner $_con"Controller.php"
,因此$_con"Controller.php"
與$_module.php
擁有相同的所有者?
我有一個腳本這行我創建獲取一個文件的所有者,並將其應用到另一個
ls -l ../$_module.php | awk '{print $3}'
簡單地打印出文件的所有者。是否可以將$3
分配給一個變量(我們稱之爲_owner),然後我可以在該腳本創建的文件上運行 chmod $_owner $_con"Controller.php"
,因此$_con"Controller.php"
與$_module.php
擁有相同的所有者?
其實你想chown(1)
,而不是chmod(1)
來更改所有者。而GNU chown
,如果你使用的是Linux,你可能擁有一個漂亮的選項--reference=file
,這將改變所有者與引用文件中的相同。
如果你堅持做手工,或你的chown
沒有這個選項,你可以存儲輸出作爲變量和使用:
owner=$(some comand)
但是注意,ls
做不保證穩定的輸出,即你不應該依賴格式。 PaulProgrammer建議您可能需要使用stat
。
您真的想要chown
更改所有者,並且您可以使用獲取所有者的用戶名。使用反引號,你可以從stat
喂輸出入chown
輸入:
chown `stat -c %U module.php` target.php
這是更好的,但不是萬能(如果你發現自己在Solaris或AIX或東西...) – PaulProgrammer
@duskwuff感謝編輯,完全同意。 – cnicutar