Re: lug-bg: schupena samba...?
- Subject: Re: lug-bg: schupena samba...?
- From: Peter Pentchev <roam@xxxxxxxxxxx>
- Date: Wed, 15 Sep 2004 17:59:21 +0300
On Wed, Sep 15, 2004 at 05:10:04PM +0300, Vasil Kolev wrote:
> На ср, 2004-09-15 в 14:59, Georgi Chorbadzhiyski записа:
> > В този случай:
> >
> > (echo $PASS ; echo $PASS) | smbpasswd -a -s $user
>
> Ало, ще ти пишем ниска оценка по scripting... :)
> Не е ли по-чисто така:
> echo -ne "$PASS\n$PASS\n" | smbpasswd -a -s $user
Зависи :) Най-чистият възможен вариант е:
echo -e "$PASS\n$PASS"
Като оставим настрана въпроса, че echo -n "...\n" няма *никакъв* смисъл,
проблемът с това е, че не е много стандартизирано :( POSIX и Standard
Unix Specification казват, че не е задължително echo(1) изобщо да приема
каквито и да е опции. Различните шелове имат съвършено различни
разбирания за това кое как трябва да приемат като опции. Предполагам,
че като си го писал това, си имал предвид bash-2; да, той приема -ne,
-en, -e -n, -n -e, и както още решиш да го напишеш. FreeBSD /bin/sh
обаче изрично казва в manual page, че може да използваш *само една* от
опциите: или -e, или -n, но не и двете :) tcsh пък е съвсем башка шел:
за интерпретация на опциите на echo има значение и променливата
echo_style, която може да е 'bsd', 'sysv', 'both' или 'none', и при
всеки от вариантите полудяваш по различен начин...
Най-*сигурният* вариант, който ще работи при всички шелове, е точно
това, което Жоро предложи: (echo $PASS; echo $PASS) | foo.
Поздрави,
Петър
--
Peter Pentchev roam@xxxxxxxxxxx roam@xxxxxxxx roam@xxxxxxxxxxx
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553
If wishes were fishes, the antecedent of this conditional would be true.
Attachment:
pgpGVc7fuea0I.pgp
Description: PGP signature
|