在Linux中,它是很容易「只是」可執行添加到一個文件,只需輸入:等效CHMOD的+ X中的Ruby
chmod +x <fname>
不過,我並沒有發現在容易事紅寶石。當然,可以進行系統調用,即
system('chmod +x' << fname)
然而,我正在尋找更優雅的東西。
我正在使用Ruby 1.8.7。
在Linux中,它是很容易「只是」可執行添加到一個文件,只需輸入:等效CHMOD的+ X中的Ruby
chmod +x <fname>
不過,我並沒有發現在容易事紅寶石。當然,可以進行系統調用,即
system('chmod +x' << fname)
然而,我正在尋找更優雅的東西。
我正在使用Ruby 1.8.7。
您可以使用File.stat
來讀取當前模式,然後按照'''或'''的方式將其與掩碼按位取得,以達到您想要的效果。下面是一個示例(可以縮短):
current_mask = File.stat('foo.sh').mode new_mask = current_mask | '0000000000000001'.to_i(2) File.chmod(new_mask, 'foo.sh')
require "fileutils"
FileUtils.chmod("+x", "foo.sh")
也許,這將是有用的:http://ruby-doc.org/stdlib-2.2.2/libdoc/fileutils/rdoc/ FileUtils.html#method-c-chmod – Lix
確實如此。不幸的是,我有一個搜索選項的Ruby 1.8.7,它沒有它......嗯,2個問題解決了1的價格... – user1134991
哦 - 我明白了......這可能是一個好主意包括你正在使用的ruby版本(特別是如果它是你的一個限制) – Lix