2

Я давно создал сценарий оболочки для создания вложенной структуры каталогов и теперь хочу использовать его на своем компьютере с Windows. Есть ли простой способ конвертировать эти скрипты? Или несколько быстрых советов, которые я должен использовать?

#!/bin/sh
echo "Enter name of csv file"
read name
echo "Enter the PREFIX for the directory"
read prefix
c=$(echo $prefix | awk -F"/" '{print $NF}')
a=`cat ./$name`
for b in $a
do
mydir=$(echo $b | tr -d '\r' | sed -e 's/,*$//g'| sed -e 's/,/\//g')
mydir2=$(echo $mydir | sed -e 's/\//\/'$c'/g')
mydir1=$prefix$mydir2
mkdir -p $mydir1
echo "Created : `pwd`/$mydir1"
done

2 ответа2

0

На самом деле нет волшебного способа конвертировать скрипты, кроме как переписывать скрипты вручную. Это не всегда возможно на 100% из-за ограничений в командной строке Windows.

Однако вместо преобразования скрипта, возможно, вы могли бы получить программу для Windows, которая может его выполнить. Если у вас Windows 10, вы можете просто использовать новую подсистему Linux. Есть миллион веб-страниц, объясняющих, как это сделать, поэтому вы сможете найти информацию с помощью простого веб-поиска.

Если вы не используете Windows 10, я бы порекомендовал совместимые с Windows версии Borne Again SHell и Unity * (в частности, awk , cat , sed и tr , поскольку это то, что, по-видимому, требует приведенный выше скрипт) , У MinGW есть хорошая версия обоих, которую вы можете получить (в комплекте) здесь. Запустите программу установки, и вы увидите окно "Менеджер установки MinGW", в котором будут различные пакеты, которые вы можете установить. msys-base должна быть единственной, которая вам нужна (если вы не планируете компилировать исходный код), поэтому поставьте галочку в поле рядом с ней. Затем перейдите в меню "Установка" и выберите "Применить изменения", а в появившемся окне нажмите "Применить". Если вы установили MinGW в каталог по умолчанию (C:\MinGW), bash должен находиться в C:\MinGW\msys\1.0\bin\bash.exe . Вы можете использовать этот exe-файл для запуска ваших сценариев оболочки.

-1

Я столкнулся с теми же потребностями. По сути, на моем Mac запущен скрипт оболочки, и теперь я бы хотел запустить его, дважды щелкнув по Windows. Вот что я сделал в Windows 10.

Прежде всего, убедитесь, что я могу запустить .sh через PowerShell с учетом необходимой политики выполнения: откройте powershell -> dir в папке .sh и запустите «sh.\ Shell.sh». Возможно, нужно немного подправить .sh.

Во-вторых, создайте однострочный файл .ps1: sh "\shell\script\full\path.sh" ("необходим, если в пути есть место).

Наконец, создайте файл с одной строкой: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy Bypass -File "\powershell\script\full\path.ps1"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .