Re: tmpfiles.d and spaces in filenames

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/01/11 12:05, Patrick O'Callaghan wrote:
> On Wed, 2011-06-01 at 09:59 -0700, JD wrote:
>> Since a space is Unix's and Linux's chosen field separator,
>> I think having a space in filenames should be avoided. there
>> are many situations where spaces in filenames cause problems.
>> A simple example:
>>
>> for i in *; do
>> [ -f $i ]&&  echo $i is a file
>> done
>>
>> you will see that the file with spaces in it's name
>> will not be recognized as a file because each
>> space-separated member of that file name
>> becomes a separate argument
>> when * is expanded by the shell.
>
> No, each filename counts as one argument, even if it has spaces in it.
> The problem arises when you *use* the argument. The above should read:
>
> for i in *; do
> [ -f "$i"]&&  echo "$i" is a file
> done
>
> (the quotes are optional in the echo case obviously).
>
> poc
>
The quotes are not optional.
Take a look at this example:

$ ls -1
a b c d
j
k
l
m

$ for i in *; do
 > ls -l $i
 > done
/bin/ls: cannot access a: No such file or directory
/bin/ls: cannot access b: No such file or directory
/bin/ls: cannot access c: No such file or directory
/bin/ls: cannot access d: No such file or directory
-rw-r--r-- 1 jd jd 0 Jun  1 12:10 j
-rw-r--r-- 1 jd jd 0 Jun  1 12:10 k
-rw-r--r-- 1 jd jd 0 Jun  1 12:10 l
-rw-r--r-- 1 jd jd 0 Jun  1 12:10 m

$ for i in *; do
   ls -l "$i"
done
-rw-r--r-- 1 jd jd 0 Jun  1 12:10 a b c d
-rw-r--r-- 1 jd jd 0 Jun  1 12:10 j
-rw-r--r-- 1 jd jd 0 Jun  1 12:10 k
-rw-r--r-- 1 jd jd 0 Jun  1 12:10 l
-rw-r--r-- 1 jd jd 0 Jun  1 12:10 m

I have run into more scripts that had omitted the quotes
in the "use" of the variable, and thus failed.

-- 
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines

[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux