Скажем, у меня есть файл, который я хочу превратить в исполняемый файл в Elixir с сохранением исходных разрешений. Как мне это сделать? Я использую File.chmod (и если да, то как?) Или System.cmd?

0
jona 25 Дек 2015 в 16:56

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 указывает, что команда была успешной.

3
Wand Maker 25 Дек 2015 в 17:38

Взгляните на Фарфор. https://github.com/alco/porcelain Porcelain - лучший способ взаимодействия с ОС.

2
Onorio Catenacci 25 Дек 2015 в 18:13

Из того, что я нашел в документации, должно быть

File.chmod(path_file, 0o755)
1
Philip 11 Янв 2018 в 15:17