Igor Peshansky wrote: > On Tue, 18 Jul 2006, Buchbinder, Barry (NIH/NIAID) [E] wrote: > >> McGraw, Robert P. wrote: >>> I have a window command that I want to execute in a bash script. >>> >>> In my .bat file the command is >>> >>> AgBackup.exe /notext c:\Alligate\agbackupfiles >>> >>> I tried to execute this command in a bash window and the command >>> works but is does not seem to recognize the parameters. The >>> "c:\alligate...." is the path where a backup is written. In the bash >>> script the backup file is written in the default location. [snip] >>> In a shell script what is the proper way to pass parameters to a >>> window program? >> >> A Windows program will think that /cygdrive/c/Alligate/agbackupfiles >> are options, not a path. >> >> Did you quote the path or escape the backslashes to protect the >> backslashes from the shell interpreting them as escape characters? >> E.g., AgBackup.exe /notext 'c:\Alligate\agbackupfiles' >> or >> AgBackup.exe /notext "c:\Alligate\agbackupfiles" > > A minor correction: you still need to escape the backslashes when > using double quotes, so the right way is > > AgBackup.exe /notext "c:\\Alligate\\agbackupfiles" >
Here's what bash does: /c> echo "c:\Alligate\agbackupfiles" c:\Alligate\agbackupfiles Maybe if one has a variable following the backslash: /c> echo "xyz\$USER" xyz$USER /c> echo "xyz\\$USER" xyz\BBuchbinder >> or >> AgBackup.exe /notext c:\\Alligate\\agbackupfiles >> >> You should read >> <http://cygwin.com/cygwin-ug-net/using-effectively.html> >> in the Cygwin User's Guide <http://cygwin.com/cygwin-ug-net/>, and >> especially >> <http://cygwin.com/cygwin-ug-net/using-effectively.html#id4735437>. > > HTH, > Igor -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/