On Thu, 2 Jun 2022 16:23:01 -0500, Erik Janssen  wrote:

>Not sure if the ! can be escaped in any way, but I saw it is possible to set 
>another character in the options as the pathname substitution character. 
>
I dislike alternative metacharacters. They require that I select characters
that I expect not to use in actual code yet easily accessible on a keyboard.

Escapes are more general, as in:
    1035 $ echo foo | sed -E s/foo/" \\( ; \\) ! \\/ \" ' "/
     ( ; ) ! / " ' 

Imagine the analogue in ISPF Edit:
    Chhange c'foo' ?????
The only way to code the replacement is as a hex string.  Ugh!

>In my case I would definitately prefer to use an ssh session or the omvs 
>shell, but I was looking if there were options for users that have less 
>experience with unix to still be able to give commands this way.  
>
That's valid only if those users need only your script; never other shell
commands.  Otherwise they're better off learning whatever UNIX they
need, not a transcription into ISPF jargon.

>I also found out that you can use dirname and basename to get the directory 
>name and filename portion of the path.
>cd `dirname !`;pwd;basename !;
>
Here, I'll advocate not a substitution character but an environment varable,
e.g. ISPPATH (assuming $ISP is a reserved prefix.)  then your command
can use shell intrinsics:
    cd "${ISPPATH%/*}"; pwd; "${ISPPATH##*/}"
which fanatics advocate for performance.  It avoids two forks.

(I usually code "cd "whatever" || exit $?" -- never trust my caller.

-- 
gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to