[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: asking for a better way to implement this
From: |
Christopher Roy Bratusek |
Subject: |
Re: asking for a better way to implement this |
Date: |
Sun, 26 Sep 2010 21:31:42 +0200 |
> Style is a matter of taste, but I think this is equivalent (not tested):
>
> xrm () {
> for path in "$@"; do
> test ${path:0:1} == - && local RMO+="$path " && continue
> for try in "$path" "${path%/*}"; do
> test -e "$try"/.dirinfo || continue
> grep -q NoDelete "$try"/.dirinfo || continue
> echo "can not delete $try, it's protected"
> continue 2
> done
> $(which rm) $RM_OPTS $RMO "$path"
> done
> }
Looks better. And I found out about continue :)
> A few points:
>
> Since you don't quote $@ there's probably no reason to quote $path.
>
> Your RMO will have options concatenated with no space between them.
>
> Your sed 's///g' might misbehave, e.g., xrm /tmp/home/tmp. The bash %
> expansion
> only operates on the last pattern.
>
> The -e option to sed seems to serve no purpose.
Thanks.
> I'm guessing your $(which rm) is intended to avoid calling rm(), but maybe
> \rm
> would do the same thing? No, that still calls the function... I'm not sure
> how to do that.
I'm doing alias rm="xrm" and it would call itself then.
> This is the bug-bash list, maybe not the best place for this kind of thing...
I've thought there's no other bash ML?
> Ken
Regards,
Chris
- asking for a better way to implement this, Christopher Roy Bratusek, 2010/09/26
- Re: asking for a better way to implement this, Ken Irving, 2010/09/26
- Re: asking for a better way to implement this,
Christopher Roy Bratusek <=
- Re: asking for a better way to implement this, Dennis Williamson, 2010/09/26
- Re: asking for a better way to implement this, Christopher Roy Bratusek, 2010/09/27
- Re: asking for a better way to implement this, Greg Wooledge, 2010/09/27
- Re: asking for a better way to implement this, Chris F.A. Johnson, 2010/09/27
- Re: asking for a better way to implement this, Christopher Roy Bratusek, 2010/09/27
- Re: asking for a better way to implement this, Andre Majorel, 2010/09/27