× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi Jack

The command she used on the interactive shell command line worked. In that case, all that is needed is to quote the quote. In CL, that quote is actually an apostrophe. I feel I must challenge you on the "...appalling range of CL escape quote mechanism...". Personally, I found the back-tick mechanism to be curious, but then I didn't grow up in Unix or Linux, that came later.

All languages and formats deal with whatever quotation mark is used with some kind of escaping - whether doubling it or using an escape character, often a backslash. Typical again is CSV, where a quotation mark within in a string is doubled - that's the same technique as used in CL, with __its__ quotation mark.

The IBM i __can__ be helpful with quoting the quote - in commands with character parameters, when you prompt the command, simply enter the string without leading quotes but include the embedded ones - the system automagically makes it the right thing.

Admittedly, this does get messier when doing expressions in CL programs. And in RPG it is highly recommended, IMO, to have a variable or constant named, say, QT which is declared as '''' - that's 4 apostrophes/single quotes.

And when I said "...final apostrophe..." - an apostrophe is the same as a "single" quote. I assume, with the usual risk :) , that this was understood by the OP, et al.

Regards
Vern

On 3/29/2020 9:01 AM, Jack Woehr wrote:
Vernon, she was missing the final quote but also I think it was barfing on
the $( ... ) syntax (parentheses).

Me not knowing the full and appalling range of CL escape quote mechanisms
:), it looks simpler to use back-tick `command ...` syntax.

On Sun, Mar 29, 2020 at 6:52 AM Vernon Hamberg <vhamberg@xxxxxxxxxxxxxxx>
wrote:

Hi

I don't think you need the full quotes. You didn't need them in the
interactive sessions.

And you are missing a final apostrophe.

Hope this helps
Vern

On 3/29/2020 7:43 AM, Barb Hines wrote:
Hello List,

Can anyone tell me the format needed to put the following command in a
CLP?
It works fine in an interactive session. (It copies the existing file
and inserts the current date in the file name.)
This works in an interactive session:
cp /GSAcct/CHKSALAP.PDF chksalap_$(date '+%Y-%m-%d').pdf


This is NOT working in my CLP:
ADDENVVAR ENVVAR(QIBM_QSH_CMD_OUTPUT) VALUE(NONE) +
LEVEL(*JOB) REPLACE(*YES)

QSH CMD('cp /GSAcct/CHKSALAP.PDF "chksala_$(date ''+%Y-%m-%d'').pdf")


Thank you,
--
Barbara
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.