Ядро Powershell — как сделать тип файла linux исполняемым

#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 . У меня не было возможности проверить исходный код, возможно ли это или нет.