Deutsch English Français Italiano |
<vlu20f$2rlri$1@news.xmission.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.snarked.org!xmission!nnrp.xmission!.POSTED.shell.xmission.com!not-for-mail From: gazelle@shell.xmission.com (Kenny McCormack) Newsgroups: comp.unix.shell Subject: Re: Problem with 'rm -i' in ksh Date: Sat, 11 Jan 2025 15:16:31 -0000 (UTC) Organization: The official candy of the new Millennium Message-ID: <vlu20f$2rlri$1@news.xmission.com> References: <vlsqmt$fem4$1@dont-email.me> <slrnvo4udu.a76.naddy@lorvorc.mips.inka.de> Injection-Date: Sat, 11 Jan 2025 15:16:31 -0000 (UTC) Injection-Info: news.xmission.com; posting-host="shell.xmission.com:166.70.8.4"; logging-data="3004274"; mail-complaints-to="abuse@xmission.com" X-Newsreader: trn 4.0-test77 (Sep 1, 2010) Originator: gazelle@shell.xmission.com (Kenny McCormack) Bytes: 2292 Lines: 41 In article <slrnvo4udu.a76.naddy@lorvorc.mips.inka.de>, Christian Weisgerber <naddy@mips.inka.de> wrote: >On 2025-01-11, Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote: > >> rm -i "${!a_set[@]}" >> => >> rm: remove regular file `rmd2'? rm: remove regular file `rmd4'? rm: >> remove regular file `rmd9 2'? rm: remove regular file `rmd9 3'? > >Well, that's what you get when you redirect stdin to null: > >$ rm -i * >remove a? n >remove b? n >remove c? n >$ rm -i * </dev/null >remove a? remove b? remove c? $ Yeah, that was my first reaction as well. But it seems so obvious, that it seems unlikely that this particular poster would have fallen into that trap. Maybe the script is being executed in some non-normal environment, say in cron, or in an "init" script, where stdin is redirected to /dev/null. A couple of other comments: 1) I've found out recently that, under certain, as yet undetermined, conditions, scripts run from .profile have stdin == /dev/null. 2) I think that "rm" should (*) open up /dev/tty to prompt for yes/no, rather than rely on standard input. It should fail/exit with an error message if /dev/tty can't be opened (which will happen if the process has no controlling terminal). (*) "should" in the sense of does not now, but the world would be better if it did. -- "Insisting on perfect safety is for people who don't have the balls to live in the real world." - Mary Shafer, NASA Ames Dryden -