ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [sisyphus] Забавный результат выполнения test -f $file
@ 2005-03-02  9:54 Yura Zotov
  2005-03-02 10:12 ` Yura Kalinichenko
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Yura Zotov @ 2005-03-02  9:54 UTC (permalink / raw)
  To: Sisyphus List

Это правильно, что bash работает вот так?

$ file=; if test -f $file; then echo "x$file"; fi
x

Если правильно, то почему?


--
Юрий А. Зотов



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [sisyphus] Забавный результат выполнения test -f $file
  2005-03-02  9:54 [sisyphus] Забавный результат выполнения test -f $file Yura Zotov
@ 2005-03-02 10:12 ` Yura Kalinichenko
  2005-03-02 10:22   ` Dmitry V. Levin
  2005-03-02 10:24 ` Epiphanov Sergei
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 6+ messages in thread
From: Yura Kalinichenko @ 2005-03-02 10:12 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

On Срд, 2005-03-02 at 12:54 +0300, Yura Zotov wrote:
> Это правильно, что bash работает вот так?
> 
> $ file=; if test -f $file; then echo "x$file"; fi
> x
> 
> Если правильно, то почему?
> 

Не забывайте закавычивать:

$ file=""; if test -f "$file" ; then echo "x$file"; fi
$

-- 
Yura Kalinichenko




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [sisyphus] Забавный результат выполнения test -f $file
  2005-03-02 10:12 ` Yura Kalinichenko
@ 2005-03-02 10:22   ` Dmitry V. Levin
  0 siblings, 0 replies; 6+ messages in thread
From: Dmitry V. Levin @ 2005-03-02 10:22 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

[-- Attachment #1: Type: text/plain, Size: 449 bytes --]

On Wed, Mar 02, 2005 at 12:12:51PM +0200, Yura Kalinichenko wrote:
> On Срд, 2005-03-02 at 12:54 +0300, Yura Zotov wrote:
> > Это правильно, что bash работает вот так?
> > 
> > $ file=; if test -f $file; then echo "x$file"; fi
> > x
> > 
> > Если правильно, то почему?
> > 
> 
> Не забывайте закавычивать:
> 
> $ file=""; if test -f "$file" ; then echo "x$file"; fi
> $

$ test -f; echo $?
0
$ test -f ''; echo $?
1


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [sisyphus] Забавный результат выполнения test -f $file
  2005-03-02  9:54 [sisyphus] Забавный результат выполнения test -f $file Yura Zotov
  2005-03-02 10:12 ` Yura Kalinichenko
@ 2005-03-02 10:24 ` Epiphanov Sergei
  2005-03-02 10:27 ` Epiphanov Sergei
  2005-03-02 10:31 ` Epiphanov Sergei
  3 siblings, 0 replies; 6+ messages in thread
From: Epiphanov Sergei @ 2005-03-02 10:24 UTC (permalink / raw)
  To: Sisyphus List

В сообщении от 2 Март 2005 12:54 Yura Zotov написал:
> Это правильно, что bash работает вот так?
>
> $ file=; if test -f $file; then echo "x$file"; fi
> x
>
> Если правильно, то почему?

Выдержка из man bash:
...
       Команды  test  и [ проверяют условные выражения с помощью
       набора правил, основанного на количестве аргументов

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [sisyphus] Забавный результат выполнения test -f $file
  2005-03-02  9:54 [sisyphus] Забавный результат выполнения test -f $file Yura Zotov
  2005-03-02 10:12 ` Yura Kalinichenko
  2005-03-02 10:24 ` Epiphanov Sergei
@ 2005-03-02 10:27 ` Epiphanov Sergei
  2005-03-02 10:31 ` Epiphanov Sergei
  3 siblings, 0 replies; 6+ messages in thread
From: Epiphanov Sergei @ 2005-03-02 10:27 UTC (permalink / raw)
  To: Sisyphus List

В сообщении от 2 Март 2005 12:54 Yura Zotov написал:
> Это правильно, что bash работает вот так?
>
> $ file=; if test -f $file; then echo "x$file"; fi
> x
>
> Если правильно, то почему?

Выдержка из man bash:
...
       Команды  test  и [ проверяют условные выражения с помощью
       набора правил, основанного на количестве аргументов

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [sisyphus] Забавный результат выполнения test -f $file
  2005-03-02  9:54 [sisyphus] Забавный результат выполнения test -f $file Yura Zotov
                   ` (2 preceding siblings ...)
  2005-03-02 10:27 ` Epiphanov Sergei
@ 2005-03-02 10:31 ` Epiphanov Sergei
  3 siblings, 0 replies; 6+ messages in thread
From: Epiphanov Sergei @ 2005-03-02 10:31 UTC (permalink / raw)
  To: Sisyphus List

В сообщении от 2 Март 2005 12:54 Yura Zotov написал:
> Это правильно, что bash работает вот так?
>
> $ file=; if test -f $file; then echo "x$file"; fi
> x
>
> Если правильно, то почему?

Выдержка из man bash:
...
Команды  test  и [ проверяют условные выражения с помощью
набора правил, основанного на количестве аргументов.

0 аргументов
        Выражение ложно.

1 аргумент
        Выражение  истинно  только  если  аргумент  -   не
        пустой.
...

Ваша команда преобразуется к виду:

if test -f; then echo "x"; fi

У Вас один аргумент, он не пустой, поэтому правильно.

-- 
С уважением, Епифанов Сергей


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-03-02 10:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-02  9:54 [sisyphus] Забавный результат выполнения test -f $file Yura Zotov
2005-03-02 10:12 ` Yura Kalinichenko
2005-03-02 10:22   ` Dmitry V. Levin
2005-03-02 10:24 ` Epiphanov Sergei
2005-03-02 10:27 ` Epiphanov Sergei
2005-03-02 10:31 ` Epiphanov Sergei

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git