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 -