gawk system() problem?

J H Buffington jbuff@pacific.net
Sun Jan 14 17:27:00 GMT 2001


At 09:45 AM 1/15/01 +1300, Hoyt, Ben wrote:

>I'm using cygwin compiled gawk version 3.0.4 and cannot get the gawk
>system() function to work. I have a file called a.awk with the following
>contents:
>
>BEGIN { print system("dir") }
>
>I then type "gawk -f a.awk" and it prints "0" on the screen but nothing
>else. The "dir" command is not executed. Anyone know why or what to do?
>
>Note: What I actually need to do is create a directory in an awk script. I
>thought I'd be able to do this with system("mkdir mydir"), but as system()
>doesn't (seem to) work that's not very helpful. :-)

"dir" is a builtin of command.com.

If you really want "dir", you'll have to use

BEGIN {system("command /c dir")}

ls (on the other hand) is an external to bash, so you can
say

BEGIN {system("ls -lA")}

As to printing a 0, you do know that system returns the exit
status, not the output of the command, don't you?

--jbuff


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list