<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">There are lots of problems and races in the way csh (and tcsh) evaluates commands and pipelines. Some of them are really hard to fix (see <a href="https://bugs.astron.com" class="">https://bugs.astron.com</a>). Also parsing is not robust since the shell only recognizes keywords at the beginning of lines in some cases...<div class=""><br class=""></div><div class="">Best,</div><div class=""><br class=""></div><div class="">christos<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 31, 2022, at 6:01 PM, M G P <<a href="mailto:tateusg@hotmail.com" class="">tateusg@hotmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">

<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" class="">

<div class="">
I wrote a guide on how to use the C Shell, in the hope it'll serve as a guide on how to adequately write scripts, as well as to encourage people on not giving up:
<a href="https://gist.github.com/Krush206/bfcfd760be645150bb247f051e98c9d3" class="">https://gist.github.com/Krush206/bfcfd760be645150bb247f051e98c9d3</a><p class=""><defanged_div class=""><br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div id="ms-outlook-mobile-signature" dir="auto" class="">
</defanged_div></p><p class=""><defanged_div dir="auto" class=""><br class="">
</defanged_div></p><defanged_div class=""><div class=""><br class="webkit-block-placeholder"></div><defanged_div class="">
<hr defanged_style="display:inline-block;width:98%" tabindex="-1" class=""><p class=""><defanged_div id="divRplyFwdMsg" dir="ltr" class=""><font face="Calibri, sans-serif" style="font-size:11pt" class=""><b class="">From:</b> Tcsh <<a href="mailto:tcsh-bounces@astron.com" class="">tcsh-bounces@astron.com</a>> on behalf of M G P <<a href="mailto:tateusg@hotmail.com" class="">tateusg@hotmail.com</a>><br class="">
<b class="">Sent:</b> Tuesday, August 16, 2022 1:20:16 PM<br class="">
<b class="">To:</b> <a href="mailto:tcsh@astron.com" class="">tcsh@astron.com</a> <<a href="mailto:tcsh@astron.com" class="">tcsh@astron.com</a>><br class="">
<b class="">Subject:</b> Re: [Tcsh] Compliments to the developers and contributors.</font>
</defanged_div></p><p class=""><defanged_div class=""> </defanged_div></p><defanged_div class=""><div class=""><br class="webkit-block-placeholder"></div><defanged_div class=""><p class=""><defanged_div class="">
</defanged_div></p><p class=""><defanged_div class=""></defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class=""><a href="https://en.m.wikipedia.org/wiki/Special:MobileDiff/1102822365" class="">https://en.m.wikipedia.org/wiki/Special:MobileDiff/1102822365</a></defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class="">Why do they think multi-line aliases aren't possible?</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" id="x_ms-outlook-mobile-signature" class="">
</defanged_div></p><p class=""><defanged_div dir="auto" class="">alias function 'if -e \!$ then\</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" class="">echo OK\</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" class="">else\</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" class="">echo Not OK\</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" class="">endif'</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" class="">function dir</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class=""><br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class="">I can also make it into a variable:</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class="">set function = 'if -e \!$ then\</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class="">echo OK\</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class="">else\</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class="">echo Not OK\</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class="">endif\</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class="">:'</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class="">eval $function:q dir</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class=""><br class="">
</defanged_div></p><defanged_div class=""><div class=""><br class="webkit-block-placeholder"></div><defanged_div class=""><p class=""><defanged_div id="x_mail-editor-reference-message-container" dir="auto" class=""><br class="">
</defanged_div></p><hr tabindex="-1" defanged_style="display:inline-block; width:98%" class=""><p class=""><defanged_div id="x_divRplyFwdMsg" style="font-size:11pt" class=""><strong class="">From:</strong> Tcsh <<a href="mailto:tcsh-bounces@astron.com" class="">tcsh-bounces@astron.com</a>> on behalf of M G P <<a href="mailto:tateusg@hotmail.com" class="">tateusg@hotmail.com</a>><br class="">
<strong class="">Sent:</strong> Monday, January 31, 2022, 05:52<br class="">
<strong class="">To:</strong> <a href="mailto:tcsh@astron.com" class="">tcsh@astron.com</a> <<a href="mailto:tcsh@astron.com" class="">tcsh@astron.com</a>><br class="">
<strong class="">Subject:</strong> Re: [Tcsh] Compliments to the developers and contributors.<br class="">
</defanged_div></p><defanged_div class="">
<br class=""><p class=""><defanged_div dir="auto" style="direction: ltr; margin: 0px; padding: 0px; font-family: sans-serif; font-size: 11pt;" class="">
And I'm very proud to find another, better workaround to the criticism in the Wikipedia webpage:<br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="direction: ltr; margin: 0px; padding: 0px; font-family: sans-serif; font-size: 11pt;" class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="direction: ltr; margin: 0px; padding: 0px; font-family: sans-serif; font-size: 11pt;" class="">
# Always creates an empty file<br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="direction: ltr; margin: 0px; padding: 0px; font-family: sans-serif; font-size: 11pt;" class="">
if (! -e myfile) echo mytext > myfile<br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="direction: ltr; margin: 0px; padding: 0px; font-family: sans-serif; font-size: 11pt;" class="">
# Workaround<br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="direction: ltr; margin: 0px; padding: 0px; font-family: sans-serif; font-size: 11pt;" class="">
if (! -e myfile) eval "echo mytext > myfile"<br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="direction: ltr; margin: 0px; padding: 0px; font-family: sans-serif; font-size: 11pt;" class="">
<a href="https://en.wikipedia.org/wiki/Special:MobileDiff/1069012614" class="">My workaround</a>:<br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="direction: ltr; margin: 0px; padding: 0px; font-family: sans-serif; font-size: 11pt;" class="">
( ( : < myfile ) >& /dev/null && echo File exists. ) || ( ( echo mytext > myfile ) >& /dev/null && echo File created. ) || ( echo Cannot create file. )<br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" class=""><br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div id="x_ms-outlook-mobile-signature" dir="auto" class="">
</defanged_div></p><p class=""><defanged_div dir="auto" class=""><br class="">
</defanged_div></p><defanged_div class=""><div class=""><br class="webkit-block-placeholder"></div><defanged_div class=""><p class=""><defanged_div dir="auto" id="x_mail-editor-reference-message-container" class=""><br class="">
</defanged_div></p><hr tabindex="-1" defanged_style="display:inline-block; width:98%" class=""><p class=""><defanged_div id="x_divRplyFwdMsg" class=""><strong class="">From:</strong> Tcsh <<a href="mailto:tcsh-bounces@astron.com" class="">tcsh-bounces@astron.com</a>> on behalf of M G P <<a href="mailto:tateusg@hotmail.com" class="">tateusg@hotmail.com</a>><br class="">
<strong class="">Sent:</strong> Wednesday, December 22, 2021, 03:05<br class="">
<strong class="">To:</strong> <a href="mailto:tcsh@astron.com" class="">tcsh@astron.com</a><br class="">
<strong class="">Subject:</strong> [Tcsh] Compliments to the developers and contributors.<br class="">
</defanged_div></p><defanged_div class="">
<br class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class="">Hello.</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class="">Just did like to leave a comment in here, thanking the developers and contributors of Tcsh.</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class=""><br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class=""><defanged_span style="font-size:12pt" class="">The C Shell is such a brilliant work from Bill Joy, and Tcsh makes a great enhancement and continuation to it. Furthermore, the C Shell is the only Shell
 out there which resembles the Thompson and Mashey Shells, which (unfortunately) were superseded by the Bourne Shell.</defanged_span><br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class=""><defanged_span style="font-size:12pt" class=""><br class="">
</defanged_span></defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class=""><defanged_span style="font-size:12pt" class="">I'm not a long-time Tcsh user, however, after learning it, it really fascinated me - so much that I keep wondering how some dislike it.</defanged_span></defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)" class=""><defanged_span style="font-size:12pt" class="">To be fair, Tcsh taught me how to write scripts with security in mind, due its "limitations". The "limitations" imposed by the C Shell make it one of
 the most reliable Shells to work with, and I should not complain, but thank for that. (E.g: nesting commands is impossible; there are better ways to achieve what one want, without nesting commands.)</defanged_span></defanged_div></p><defanged_div class=""><p class=""><defanged_div id="x_ms-outlook-mobile-signature" dir="auto" class="">
</defanged_div></p><p class=""><defanged_div class=""><br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" class="">I really have no complaints to C Shell or Tcsh, but I must thank each of you who keep the development of an old brilliant gem from Bill Joy and Ken Greer up.</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" class="">Thank you very much for your time and effort!</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" class=""><br class="">
</defanged_div></p><defanged_div class=""><p class=""><defanged_div dir="auto" class="">P.S: the complaints from a Perl developer in <a href="http://faqs.org" class="">faqs.org</a> are plain petty; something I learned very quickly is that most things can be worked-around with sub-shells or named FIFOs.</defanged_div></p><defanged_div class=""><div class=""><br class="webkit-block-placeholder"></div><defanged_div class="">
<br class=""><div class=""><br class="webkit-block-placeholder"></div><defanged_div class="">
<br class=""><div class=""><br class="webkit-block-placeholder"></div><defanged_div class=""><div class=""><br class="webkit-block-placeholder"></div><defanged_div class="">
</defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></defanged_div></div>

-- <br class="">Tcsh mailing list<br class=""><a href="mailto:Tcsh@astron.com" class="">Tcsh@astron.com</a><br class="">https://mailman.astron.com/mailman/listinfo/tcsh<br class=""><span id="cid:84060ACD-55FE-4187-9887-8AD53C20F065"><sanitizer.log></span></div></blockquote></div><br class=""></div></body></html>