From owner-freebsd-questions@freebsd.org Sat Mar 30 04:15:42 2019 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7F7351562197; Sat, 30 Mar 2019 04:15:42 +0000 (UTC) (envelope-from mayuresh@kathe.in) Received: from relay11.mail.gandi.net (relay11.mail.gandi.net [217.70.178.231]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0B93F6CFE0; Sat, 30 Mar 2019 04:15:40 +0000 (UTC) (envelope-from mayuresh@kathe.in) Received: from webmail.gandi.net (webmail19.sd4.0x35.net [10.200.201.19]) (Authenticated sender: mayuresh@kathe.in) by relay11.mail.gandi.net (Postfix) with ESMTPA id 8DCD9100007; Sat, 30 Mar 2019 04:15:38 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Sat, 30 Mar 2019 09:45:38 +0530 From: Mayuresh Kathe To: Polytropon Cc: Daniel Feenberg , freebsd-questions@freebsd.org, owner-freebsd-questions@freebsd.org Subject: Re: Sending Tcsh to packages/ports ... Reply-To: mayuresh@kathe.in Mail-Reply-To: mayuresh@kathe.in In-Reply-To: <20190330035857.86508c3a.freebsd@edvax.de> References: <64780f09d4251b9641e3bca39000ae2d@kathe.in> <869a55f05dde045b1947f53ce3c5851f@kathe.in> <20190330033342.e5fc3373.freebsd@edvax.de> <2aee9abe70cc944b634751e5df0b375e@kathe.in> <20190330035857.86508c3a.freebsd@edvax.de> Message-ID: X-Sender: mayuresh@kathe.in User-Agent: Roundcube Webmail/1.3.8 X-Rspamd-Queue-Id: 0B93F6CFE0 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mayuresh@kathe.in designates 217.70.178.231 as permitted sender) smtp.mailfrom=mayuresh@kathe.in X-Spamd-Result: default: False [-4.65 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[231.178.70.217.list.dnswl.org : 127.0.5.1]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:217.70.176.0/21]; FROM_HAS_DN(0.00)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[kathe.in]; REPLYTO_ADDR_EQ_FROM(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: spool.mail.gandi.net]; NEURAL_HAM_SHORT(-0.44)[-0.439,0]; HAS_REPLYTO(0.00)[mayuresh@kathe.in]; IP_SCORE(-1.80)[ip: (-6.19), ipnet: 217.70.176.0/20(-1.56), asn: 29169(-1.26), country: FR(-0.01)]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:29169, ipnet:217.70.176.0/20, country:FR]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Mar 2019 04:15:42 -0000 On 2019-03-30 08:28 AM, Polytropon wrote: > On Sat, 30 Mar 2019 08:13:33 +0530, Mayuresh Kathe wrote: >> On 2019-03-30 08:03 AM, Polytropon wrote: >> > On Fri, 29 Mar 2019 19:08:16 +0530, Mayuresh Kathe wrote: >> >> On 2019-03-29 04:59 PM, Daniel Feenberg wrote: >> >> > On Fri, 29 Mar 2019, Mayuresh Kathe wrote: >> >> > >> >> >> Since Tcsh is usually imported, why not send it to packages/ports >> >> >> collection? >> >> >> I agree that "csh" is an historically important artifact, but do we >> >> >> need to still rely on that? >> >> >> I have been using "csh" ever since I started using FreeBSD, liked it, >> >> >> but it doesn't feel light like plain old "sh" nor is as feature-full >> >> >> as "bash". To top that, the installer asks me to choose between "csh" >> >> >> and "tcsh" in-spite of being the same binary. >> >> > >> >> > ed and csh are important for those that use them. I use both, not >> >> > always, but enough to see the importance of keeping them in the OS. >> >> > There is a fallacious style of argument that decodes to "If a is >> >> > better than b, then b is no good and it is a sign of bad character to >> >> > use b". There are many cases where the transition costs of moving to >> >> > different dependencies will be significant, especially for less well >> >> > informed users. >> >> >> >> What if you had access to your preferred tools via packages/ports? >> > >> > The core problem is an educated consensus about what should >> > be the default content of the OS. Access to ports or packages >> > usually implies that you have (a) the installation media, or >> > (b) Internet access. In cases where this does not apply, for >> > reasons like "didn't think about that", "our Internet doesn't >> > work", "Security! Security! Security!" and more, you should >> > definitely _not_ be left with an OS that doesn't have a usable >> > interactive shell or an editor. The mentality of "you can always >> > install it afterwards" should not be applied to basic OS tools >> > and demands. >> >> But the basic operating system tools would include the Bourne Shell >> (sh), or as you'd stated previously, in the case of FreeBSD, the >> Almquist Shell (ash). Isn't "ash" interactive enough for most people? > > No. This shell is traditionally a scripting shell. The only > occassion where you would use it is after a severe system > crash, and even from that point, you'd probably just start > the C shell for better interactive features. > > I hardly know people who use sh for more than "csh" (to start > csh). > > On most Linux systems, there is one shell both for scripting > and for interactive use, and it's usually /bin/bash. FreeBSD > differentiates between scripting use, where the POSIX-compliant > sh is used, and interactive use, where the C shell is the > traditional shell, but a user can of course install and use > a different shell. > > The scripting shell _must_ always be accessible, and FreeBSD > provides an interactive shell which also always works. > > It's important to understand that a custom user shell might not > be available in single-user mode, in a condition where the system > can only operate in a very limited way. That's why it's still > valid to say you should not change root's interactive shell > to something like /usr/local/bin/bash which might cause trouble > logging in when /usr or /usr/local cannot be accessed. That's > what the toor user is intended for. > > Sidenote: > > Some historical UNIX systems actually used the C shell for > scripting to bring the system up into multi-user mode. Luckily, > this is not done anymore as scripting (!) in csh is terrible > and confusing. :-) Actually, looking it at it from a different angle, "csh" scripting would be ideal, because then one would need to know only one _style_ of programming, the "c" style. That's what I love about "Plan 9", it's shell "rc" uses a "c" style scripting system and the shell is also quite interactive. >> At >> least I have found it good enough for my day-to-day use. > > You are actually using /bin/sh interactively? Not that it's > impossible, but... well... why use sh when the OS provides you > csh whose interactive features are much more advanced and > customizable? I don't know why, but I find it peaceful to use "/bin/sh". Probably because it's so small, so ancient and so well documented. Plus, I touch-type at a very high speed, so any mistakes, and I can re-type my command chain effortlessly. ~Mayuresh