2017-07-19 2 views
0

Ich möchte C:\Program Files (x86)\Leela\Leela0100.exe aufrufen und einen Dateinamen übergeben:Wie ein Leerzeichen in einem Pfad auf msys2 entkommen?

#!/bin/bash -x 

BASE="c:/Users/supreme" 
DROPBOX="$BASE/Dropbox" 

DOWNLOADS="$BASE/Downloads" 

cd $DOWNLOADS 
SGF=`ls -th *.sgf | head -1` 

GAMES="$DROPBOX/Baduk/Games" 

mv $SGF $GAMES 

LEELA='c://Program Files (x86)//Leela//Leela0100.exe' 

cd $GAMES 
$LEELA $SGF 

jedoch über bash -x toleela.sh mein Skript Aufruf unter MSYS2 den Fehler ergibt:

c:\Users\supreme\Dropbox\Programming>bash -x toleela.sh 
bash -x toleela.sh 
+ BASE=c:/Users/supreme 
+ DROPBOX=c:/Users/supreme/Dropbox 
+ DOWNLOADS=c:/Users/supreme/Downloads 
+ cd c:/Users/supreme/Downloads 
++ ls -th '9001447-269-Winggo-princepawn (1).sgf' 9429961-080-princepawn-RyanBLee.sgf 
++ head -1 
+ SGF=9429961-080-princepawn-RyanBLee.sgf 
+ GAMES=c:/Users/supreme/Dropbox/Baduk/Games 
+ mv 9429961-080-princepawn-RyanBLee.sgf c:/Users/supreme/Dropbox/Baduk/Games 
+ LEELA='c://Program Files (x86)//Leela//Leela0100.exe' 
+ cd c:/Users/supreme/Dropbox/Baduk/Games 
+ c://Program Files '(x86)//Leela//Leela0100.exe' 9429961-080-princepawn-RyanBLee.sgf 
toleela.sh: line 18: c://Program: No such file or directory 

Antwort

3

Wie bereits darauf hingewiesen, euch im IRC, In der letzten Zeile Ihres Skripts (auch in anderen Zeilen) fehlen Ihnen Anführungszeichen für die Variablenerweiterungen.

"$LEELA" "$SGF" 

Die Doppelschrägstriche (//) in der ausführbaren Datei Pfad sind nicht richtig. Verwenden Sie stattdessen einen einfachen Schrägstrich (/) oder einen doppelten Backslash ( \\) . EDIT: Backslashes sind komplizierter, also halten Sie sich an Forwards.

+0

[single forward slash funktioniert] (https://gist.github.com/metaperl/d8fe4887d202cd8b2c04709049b9e0de) –

Verwandte Themen