This issue has been reported a couple of times before:

http://www.jsoftware.com/pipermail/programming/2009-August/016074.html
http://www.jsoftware.com/pipermail/general/2010-January/033490.html

Basically #! scripts fail if the path to the jconsole executable
contains a hyphen. Given that the default path to jconsole for a J
installation is ./j64-701/bin/jconsole this means that #! scripts
won't work without some extra work.

The reported cause of the failure is a domain error in script_z_ and
seems to be caused by J attempting to interpret the path to jconsole
as a J statement and the hyphen as the J verb Minus (-). I get the
same error if I change the path to ./j64+701/bin/jconsole . And no
error if I change the path to ./j64_701/bin/jconsole

The quick fix/workaround is to replace the hyphen in the ~install
directory name to an underscore, but it would be good if this could be
fixed "properly".

ris...@ric-linux:~/temp$ cat testhb
#!/home/rishe0/j64-701/bin/jconsole
echo 'Hello world!'
NB. exit 0

ris...@ric-linux:~/temp$ ./testhb
|domain error: script
|   #!/home/rishe0/j64-    701/bin/jconsole
|[-0] /home/rishe0/temp/./testhb
  exit 0

NB. now rename ~install folder and edit testhb

ris...@ric-linux:~/temp$ cat testhb
#!/home/rishe0/j64_701/bin/jconsole
echo 'Hello world!'
exit 0

ris...@ric-linux:~/temp$ ./testhb
Hello world!
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to