Re: Long filenames in DOS/Windows and Unix/Linux

Liste des GroupesRevenir à cu programmer 
Sujet : Re: Long filenames in DOS/Windows and Unix/Linux
De : janis_papanagnou+ng (at) *nospam* hotmail.com (Janis Papanagnou)
Groupes : comp.unix.programmer
Date : 10. Sep 2024, 06:17:48
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vbokpu$2ptqu$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
On 05.09.2024 11:29, Ralf Fassel wrote:
* Richard Kettlewell <invalid@invalid.invalid>
| Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:
| > [...] For example, I might type something like:
| >
| >     for file in * ; do cp -p $file $file.bak ; done

Quoting is generally the standard way to be on the safe side...

  for file in * ; do cp -p "$file" "$file.bak" ; done


| That’s the heart of the matter. Field splitting happens after parameter
| expansion. 
 
Only sometimes it doesn't :-)
 
    $ foo="foo bar"
    $ bar=$foo
 
No problem with the space in the expanded value here!
 
    $ echo $bar
    foo bar

There is a problem also with 'echo'...!

space="foo bar"
two_spaces="two  spaces"
a_tab="a tab"

# all the IFSs get collapsed in:
echo $space
echo $two_spaces
echo $a_tab

# correct way to handle that:
echo "$space"
echo "$two_spaces"
echo "$a_tab"

 
but of course:
   ls $bar
   ls: cannot access 'foo': No such file or directory
   ls: cannot access 'bar': No such file or directory
 
It's documented in bash(1):
 
  PARAMETERS
       [...]
       A variable may be assigned to by a statement of the form
 
              name=[value]
 
       [...] Word  splitting is not performed, with the exception of
       "$@" as explained below under Special Parameters.
 
but I find it confusing nevertheless.

It's not that confusing if you know the difference between a shell
construct (that doesn't require quotes) and "the all rest" that
needs (for the general case) quotes. If in doubt there's the rule
of thumb to always use quotes.

Janis

 
R'
 


Date Sujet#  Auteur
31 Aug 24 * Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)61Kenny McCormack
31 Aug 24 +* Re: Long filenames in DOS/Windows and Unix/Linux11Richard Kettlewell
31 Aug 24 i+- Re: Long filenames in DOS/Windows and Unix/Linux1Muttley
1 Sep 24 i`* Re: Long filenames in DOS/Windows and Unix/Linux9Lawrence D'Oliveiro
1 Sep 24 i +* Re: Long filenames in DOS/Windows and Unix/Linux7Lawrence D'Oliveiro
1 Sep 24 i i+- Re: Long filenames in DOS/Windows and Unix/Linux1Nuno Silva
1 Sep 24 i i+- Re: Long filenames in DOS/Windows and Unix/Linux1Helmut Waitzmann
1 Sep 24 i i+- Putting arbitrary characters into the shell command line (was: Long filenames in DOS/Windows and Unix/Linux)1Helmut Waitzmann
3 Sep 24 i i+* Re: Long filenames in DOS/Windows and Unix/Linux2Wayne
3 Sep 24 i ii`- Re: Long filenames in DOS/Windows and Unix/Linux1Lawrence D'Oliveiro
8 Sep 24 i i`- Re: Long filenames in DOS/Windows and Unix/Linux1Janis Papanagnou
1 Sep 24 i `- Arbitrary characters in filenames (was: Long filenames in DOS/Windows and Unix/Linux)1Helmut Waitzmann
31 Aug 24 +* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)48Muttley
3 Sep 24 i`* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)47John Ames
3 Sep 24 i +- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)1Lew Pitcher
3 Sep 24 i +* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)4Kenny McCormack
4 Sep 24 i i`* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to3Muttley
4 Sep 24 i i `* User surveys (Was: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to)2Kenny McCormack
4 Sep 24 i i  `- Re: User surveys (Was: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to)1Muttley
3 Sep 24 i +* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)40Kaz Kylheku
3 Sep 24 i i`* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)39John Ames
3 Sep 24 i i +* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)37Kaz Kylheku
3 Sep 24 i i i`* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)36John Ames
3 Sep 24 i i i +- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)1Lawrence D'Oliveiro
3 Sep 24 i i i `* Re: Long filenames in DOS/Windows and Unix/Linux34Keith Thompson
3 Sep 24 i i i  +* Re: Long filenames in DOS/Windows and Unix/Linux16Lawrence D'Oliveiro
4 Sep 24 i i i  i`* Re: Long filenames in DOS/Windows and Unix/Linux15Keith Thompson
4 Sep 24 i i i  i +* Re: Long filenames in DOS/Windows and Unix/Linux13Lawrence D'Oliveiro
4 Sep 24 i i i  i i+* Re: Long filenames in DOS/Windows and Unix/Linux4Keith Thompson
4 Sep 24 i i i  i ii`* Re: Long filenames in DOS/Windows and Unix/Linux3Lawrence D'Oliveiro
4 Sep 24 i i i  i ii `* Re: Long filenames in DOS/Windows and Unix/Linux2Keith Thompson
4 Sep 24 i i i  i ii  `- Re: Long filenames in DOS/Windows and Unix/Linux1Lawrence D'Oliveiro
4 Sep 24 i i i  i i`* Re: Long filenames in DOS/Windows and Unix/Linux8Ralf Fassel
4 Sep 24 i i i  i i `* Re: Long filenames in DOS/Windows and Unix/Linux7Keith Thompson
4 Sep 24 i i i  i i  `* Re: Long filenames in DOS/Windows and Unix/Linux6Nuno Silva
4 Sep 24 i i i  i i   `* Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)5Kenny McCormack
4 Sep 24 i i i  i i    `* Re: Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)4Lew Pitcher
4 Sep 24 i i i  i i     +- Re: Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)1Lawrence D'Oliveiro
5 Sep 24 i i i  i i     `* Re: Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)2Kaz Kylheku
5 Sep 24 i i i  i i      `- Re: Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)1Lew Pitcher
4 Sep 24 i i i  i `- Re: Long filenames in DOS/Windows and Unix/Linux1Tim Rentsch
4 Sep 24 i i i  +* Re: Long filenames in DOS/Windows and Unix/Linux11Kaz Kylheku
4 Sep 24 i i i  i+* Re: Long filenames in DOS/Windows and Unix/Linux8Keith Thompson
4 Sep 24 i i i  ii`* Re: Long filenames in DOS/Windows and Unix/Linux7Lawrence D'Oliveiro
4 Sep 24 i i i  ii `* Re: Long filenames in DOS/Windows and Unix/Linux6Keith Thompson
4 Sep 24 i i i  ii  +* Re: Long filenames in DOS/Windows and Unix/Linux4Lawrence D'Oliveiro
4 Sep 24 i i i  ii  i`* Re: Long filenames in DOS/Windows and Unix/Linux3Keith Thompson
4 Sep 24 i i i  ii  i +- Re: Long filenames in DOS/Windows and Unix/Linux1Lawrence D'Oliveiro
4 Sep 24 i i i  ii  i `- Re: Long filenames in DOS/Windows and Unix/Linux1Nuno Silva
4 Sep 24 i i i  ii  `- Re: Long filenames in DOS/Windows and Unix/Linux1Kaz Kylheku
4 Sep 24 i i i  i`* Re: Long filenames in DOS/Windows and Unix/Linux2John Ames
4 Sep 24 i i i  i `- Re: Long filenames in DOS/Windows and Unix/Linux1Muttley
4 Sep 24 i i i  `* Re: Long filenames in DOS/Windows and Unix/Linux6Richard Kettlewell
5 Sep 24 i i i   `* Re: Long filenames in DOS/Windows and Unix/Linux5Ralf Fassel
5 Sep 24 i i i    +* Re: Long filenames in DOS/Windows and Unix/Linux3Richard Kettlewell
7 Sep 24 i i i    i`* Re: Long filenames in DOS/Windows and Unix/Linux2candycanearter07
7 Sep 24 i i i    i `- Word splitting oddities (Was: Long filenames in DOS/Windows and Unix/Linux)1Kenny McCormack
10 Sep 24 i i i    `- Re: Long filenames in DOS/Windows and Unix/Linux1Janis Papanagnou
10 Sep 24 i i `- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)1Janis Papanagnou
4 Sep 24 i `- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to1Muttley
1 Sep 24 `- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)1Marcel Mueller

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal