2010-10-03 6 views
0

j'ai le cas suivant: - j'écris bash fichier bbb dans Windows 2003 et mais une valeur de retour = 3 par exit /b 3 alors j'exécute ce fichier bash d'unix par cette commande: - ssh -l admin host 'cmd /c start c:\bbb' mais quand j'imprime la valeur de retour je reçois (0) not (3) j'imprime cette valeur par `echo $? 'maintenant comment je peux obtenir une valeur de retour "code de sortie" de windows bash?obtenir la valeur de retour du fichier bat dans Windows dans unix?

Répondre

2

Votre code de retour est masqué par start, vous ne devriez pas l'utiliser dans ce cas.

+0

si je ne peux pas utiliser 'start' ce que je devrais utiliser? –

+0

Si 'bbb' est en effet un script bash, vous devriez l'exécuter en utilisant' bash', pas 'cmd'. par exemple, 'ssh -l admin host 'bash bbb'', ou sans bash si votre ssh exécute bash par défaut. – Hasturkun

+0

j'essaye avec bash et sans rien le résultat est: bash -': c: bbb.bat: Aucun fichier ou directory' .... et je me souviens que je veux exécuter le fichier batch dans Windows –

0

votre $? est le code de retour de commande ssh. Je n'ai pas de machine Windows à essayer, vous pouvez faire écho au %errorlevel% après votre commande cmd

+0

J'essaie d'exécuter la commande comme vous le dites 'ssh -l Admin host 'cmd/c démarrer bbb.bat && echo% errorlevel'' .... il imprimer% errorlevel% –

+0

'% errorlevel% '. – ghostdog74

Questions connexes