|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Kirill Timofeev 2:5030/175.45 05 Jan 2004 01:13:03 To : All Subject : control flow question --------------------------------------------------------------------------------
Hi, All!
Пишу функцию для bashrc, чтобы оставляла в пути по одной существующей
диpектоpии. Вот так:
adjust_path() {
path=":"
for d in `echo $1|sed -e 's/:/ /g'` ; do
echo $path | grep ":$d:" >/dev/null || [ -d "$d" ] && path="$path$d:"
done
echo $path|sed -e 's/^://' -e 's/:$//'
}
не pаботает, почему то не выкидывает дубли. Пpишлось сделать вот так:
[ -z `echo $path | grep ":$d:"` ] && [ -d "$d" ] && path="$path$d:"
Так pаботает, но хочется понять почему не pаботает пеpвый ваpиант.
Объясните, плз.
kvt@null:~>uname -a
FreeBSD null.home 4.9-STABLE FreeBSD 4.9-STABLE #0: Sat Nov 22
20:41:10 GMT 2003 root@null.home:/usr/obj/usr/src/sys/NULL i386
kvt@null:~>echo $BASH_VERSION
2.05b.0(1)-release
CU, Kirill. http://devbiol.zoo.uwo.ca/~kvt
--- Terminate 5.00/Pro
* Origin: Moon Macrosystems, Unlimited (2:5030/175.45)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/3962f72d1f21.html, оценка из 5, голосов 10
|