This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: Re: lpr works? FAQ in error?
Wilfried wrote on Monday, July 21, 2008 10:11 AM:
> Ehh, I just saw that Rodrigo Medina addressed all these problems.
>
> So the script would probably look like this:
>
> --------------snip-------------
> #!/bin/sh
> $1 $2 $3 $4 $5 | unix2dos > tmp_file
> cygstart notepad.exe /p tmp_file
> rm tmp_file
> --------------snip-------------
It looks to me that the command
$1 $2 $3 $4 $5
has two or three problems:
(1) Arguments are not quoted.
(2) One might have more than a command and 4 arguments.
(3) It is also possible that one may have surprises if /bin/sh is set up so when non-interactive it handles aliases and shell functions differently than expected.
So I would just pipe into the shell script.
The second place is that there is theoretically a race between cygstart and rm. What happens if rm deleted tmp_file before notepad reads it? I can think of two ways to handle it. Adding
sleep 1
to delay rm by a second will probably usually be enough of a delay. Substituting
"$(cygpath -u "$COMSPEC")" /c start /wait notepad.exe /p tmp_file
for
cygstart notepad.exe /p tmp_file
to use Windows' start command will wait until notepad is closed. (This may be longer than you want to wait.)
But I haven't tried this, so it may not work.
--------------snip--------------
#!/bin/sh
unix2dos > tmp_file
cygstart notepad.exe /p tmp_file
sleep 1
rm tmp_file
--------------snip--------------
- Barry
--
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/