Выполните/вызовите сценарий пакетной обработки окон от sh или колотите сценарий

У меня есть sh/bash сценарий, который должен назвать пакетный файл с параметрами (параметры являются именами файлов и даны в формате DOS/Windows).

В основном я имею: script.sh

#!/bin/sh
declare var1=$1
declare var2=$2
dosomething var1 var2
...
<invoke batch script> var1 var2
...
dosomethingelse

Я использую GNU bash, version 3.1.0(3)-release (i686-pc-msys) как оболочка, на msysgit

Проблема - это, когда я работаю из сценария: $COMSPEC /c batchfile param1 param2 любой я получаю "пустую подсказку", которая похожа на удар, но никакой результат команды не отображен на консоли, также cmd.exe запустите, но не выполняйте сценарий.

Я попытался заключить параметрические усилители в кавычки для избиения как это:

$COMSPEC /c \"batchfile param1 param2\"
$COMSPEC /c \"\"batchfile param1 param2\"\"
$COMSPEC /c \"\"batchfile \"param1\" \"param2\"\"\"

Но я не получил результата.

7
задан doubleDown 23 September 2013 в 16:05
поделиться

1 ответ

Похоже, мне нужно было экранировать пробел в параметре cmd:

$COMSPEC \/c batch-file\ \"$var1\"\ \"$var2\"

или

$COMSPEC /c batch-file\ \"$var1\"\ \"$var2\"

Я не уверен, нужно ли экранировать / from / c, но он отлично работает в обоих направлениях.

10
ответ дан 7 December 2019 в 01:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: