Существует множество приемов, позволяющих заставить скрипты работать как в Windows, так и в Unix, см., например, этот вопрос о stackoverflow.
Пример :поставить :
в начале команды unix, чтобы cmd.exe
пропустить ее, и #
в конце, чтобы оболочка unix не захлебывалась дополнительной кареткой -возврат:
:; echo "unix path = $PATH" > out.lst; exit #
@echo off
echo windows path = %PATH% > out.lst
Если вам нужно несколько строк, вы должны объединить здесь -документ на стороне unix с документом goto label.. : label
на стороне Windows:
:; true < file.txt
echo windows sux
goto skip
EOT
echo "linux path = $PATH" > file.txt #
echo linux sux #
: skip
Обратите внимание, что <
#
, чтобы не добавлять ложный ^M
в конец строк или имен файлов..