Date: Tue, 16 Mar 2021 13:26:30 +0100 From: Alex fxmbsw7 Ratchev <fxmb...@gmail.com> Message-ID: <CAALKErHuHduuMLBnhXzxuoEVqT-cjJeeVBV8f7WQO=p09ca...@mail.gmail.com>
| no idea about your internal rules of keyword and builtin but clearly its | gotta parse it at most 1. level otherwise its big security fault isnt it No, it isn't. No more than cd /; rm -fr * is a "big security fault" (in the shell). Users who do stupid things might be a big security fault, but it is not the shell's job to stop that (if you think you need that help, find some shell that still implements restricted mode, if there are any (does bash?) and use that, then you'll be fairly well protected - you also won't be able to do much). | its a shell fuctionality keyword, unset, so .. Lots of things are what seems to be shell functionality, that changes nothing. If you don't want word splitting, add quotes. Your responsibility. g...@wooledge.org said: | I would not complain if unset became a shell keyword, and had a complete | revamp of its behavior. I would. keywords cannot be overridden by functions, and so should be used only where absolutely required (which means, really, that in order to work, they require a magic syntax, that the shell must implement). And yes '[[' being a keyword, is, IMO, a mistake. unset requires no more than regular shell parsing, and should be left alone. kre