#powershell #powershell-core
#powershell #powershell-ядро
Вопрос:
Существует ли ядро powershell, эквивалентное следующей команде bash при запуске в Linux:
sudo chmod x myexec
Я хочу сделать этот тип файла исполняемым. Это просто сделать с помощью bash, но я бы предпочел использовать powershell, если это возможно.
Пока я использую следующую команду:
bash -c "chmod x myexec"
Комментарии:
1. Просто вызывайте
sudo chmod x myexec
напрямую;sudo
это внешняя утилита, как естьchmod
, поэтому у PowerShell нет проблем с их прямым вызовом.2. В качестве отступления: ваша команда делает данный файл исполняемым, а не типом файла.
3. Пожалуйста, уточните, на какой платформе вы планируете запускать это.
Ответ №1:
вы можете использовать следующий код, он очень хорошо работал для моих нужд, которые я тестировал на pwsh версии 7 на opensuse.
function Invoke-Sudo {
amp; /usr/bin/env sudo pwsh -command "amp; $args"
}
Invoke-Sudo "chmod x /usr/bin/filename"
Я надеюсь, что это поможет вам!
Ответ №2:
Флаг исполняемого файла — это термин linux / unix. … в Windows он не имеет значения.
Придерживайтесь решения, которое у вас есть в настоящее время, — вызова команды bash из скрипта PS
Комментарии:
1. Ядро PowerShell явно не зависит от платформы. Так что это не имеет значения, является ли флаг исполняемого файла «актуальным для Windows» или нет. Ядро PowerShell должно включить параметр x через Set-ItemProperty . У меня не было возможности проверить исходный код, возможно ли это или нет.