Linux для команд Windows |Угловая установка с SpringBoot - PullRequest
0 голосов
/ 20 ноября 2018

Я проходил урок: https://github.com/dsyer/spring-boot-angular

, чтобы настроить угловой проект с помощью Spring Boot.Учебное пособие использовало определенные сценарии для автоматизации процесса сборки.Например:

1.

$ cat > npm
#!/bin/sh
cd $(dirname $0)
PATH="$PWD/node/":$PATH
node "node/node_modules/npm/bin/npm-cli.js" "$@"
$ chmod +x npm

2.

$ cat > ng
#!/bin/sh
cd $(dirname $0)
PATH="$PWD/node/":"$PWD":$PATH
node_modules/@angular/cli/bin/ng "$@"
$ chmod +x ng
$ ./ng --version

3.

$ cat client/.gitignore >> .gitignore
$ rm -rf client/node* client/src/favicon.ico client/.gitignore client/.git
$ sed -i '/node_/anode/' .gitignore
$ cp -rf client/* .
$ cp client/.??* .
$ rm -rf client
$ sed -i -e 's,dist/client,target/classes/static,' angular.json

Полагаю, это сценарии sh иможет работать в среде Linux.Как перевести эти скрипты в среду Windows.Или кто-нибудь может указать мне на версию учебника для Windows.

1 Ответ

0 голосов
/ 21 ноября 2018

Может быть хорошей идеей будет использовать что-то вроде busybox-w32 и просто запускать сценарии как есть с минимальными изменениями.

Я пропустил повторяющиеся команды.Пожалуйста, попробуйте выяснить, как все работает, а не просто скопировать мою заявку - возможно, я что-то напутал.

Кроме этого, здесь идет речь:

Unix:

$ cat > npm

Windows:

copy CON npm.bat

(завершить ввод файла с помощью ENTER, CTRL+Z, ENTER)

Хотя это может быть проще сделать

notepad npm.bat

, поскольку он всегда устанавливается вместе с ОС.

Unix:

#!/bin/sh

Windows:

не поддерживает шебанги.Вам нужно назвать свой скрипт с расширением .bat или .cmd.Эта строка должна быть опущена.Комментарии начинаются с rem

Unix:

cd $(dirname $0)

Windows:

cd %~dp0

Запустите call /?, чтобы узнать, что это значит.

Unix:

PATH="$PWD/node/":$PATH

Windows:

set path=%cd%\node;%path%

см. set /? и path /?

Unix:

node "node/node_modules/npm/bin/npm-cli.js" "$@"

Windows:

node "node\node_modules\npm\bin\npm-cli.js" %*

Вам нужно будет нажать ENTER, Ctrl+Z, ENTER здесь, если вы сделали copy CON вещь

Unix:

$ chmod +x npm

Windows:

Никаких действий не требуется.В Windows все файлы, оканчивающиеся на .bat и .cmd, являются исполняемыми по умолчанию, и люди очень редко беспокоятся о правах доступа вообще.

Unix:

$ ./ng --version

Windows:

ng --version

Windows выполняет файлы из текущего каталога по умолчанию

Unix:

$ cat client/.gitignore >> .gitignore

Windows:

type client\.gitignore >> .gitignore

Unix:

$ rm -rf client/node* client/src/favicon.ico client/.gitignore client/.git

Windows:

rd /s /q "client\node*"
del /y "clientsrc\favicon.ico"
del /y "client\.gitignore"
del /y "client\.git"

Windows не поддерживает удаление или копирование нескольких файлов одной командой

Unix:

$ sed -i '/node_/anode/' .gitignore

Windows:

Вы можете скачать и установить sed for windows или открыть notepad и использовать команду Replace из своего меню.Он не поддерживает регулярные выражения.

Unix:

$ cp -rf client/* .

Windows:

xcopy /S /E /I /Y "client\*" .\

Вы также можете использовать robocopy, см. robocopy /? и xcopy /?

Unix:

$ cp client/.??* .

Windows:

copy /y "client\.*" .

Я не уверен, что именно они пытаются сделать с этим, но если это копирует только файлы, которые имеютровно два или более символов, это может быть немного сложно в Windows, так как ?? интерпретируется как * командным процессором.Вам понадобится цикл for, затем проверьте, что if %variable:~3:1% пуст или что-то в этом роде.Может быть проще полностью переработать эту команду в зависимости от контекста.См. for /?, if /?, set /? и / или этот сайт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...