Скажем, у меня есть файл, который я хочу превратить в исполняемый файл в Elixir, сохраняя его исходные разрешения. Как я могу это сделать? Использую ли я File.chmod
(и если да, то как?) Или System.cmd
?Как сделать файл исполняемым в Elixir?
0
A
ответ
3
Возможно, вы не сможете использовать File.chmod
, поскольку он ожидает неотрицательное целое число как способ выражения разрешений, например. 755, 666 и т. Д. Поэтому требуется установить все разрешения и не разрешить сохранять существующие разрешения.
File.chmod("file.sh", 755)
Следовательно, System.cmd
кажется, более склонны способом, так как он выполняет команду chmod
системы.
{msg, result} = System.cmd "chmod", ["+x", filename], cd: pathname
#=> {"", 0}
result
значение 0
указывает, что команда была успешно выполнена.
2
Посмотрите на фарфор. https://github.com/alco/porcelain Фарфор - лучший способ взаимодействия с ОС.
0
Из того, что я смог найти в documentation должно быть
File.chmod(path_file, 0o755)
Что вы имеете в виду под этим? Не запускаем ли мы программы elixir с помощью команды 'elixir'? –
Нет, я имею в виду, что у меня есть случайный файл, который я хочу включить в исполняемый файл ('chmod + x filename') через код Elixir. – jona
У меня есть, но когда я использую 'System.cmd 'chmod", ["+ x", filename], cd: pathname', он ничего не выполняет, как показано в первом элементе, который он возвращает в кортеже. – jona