Re: Это о чём?

Alexey Ten (Lynn) alexeyten+deb на gmail.com
Пн Апр 26 08:23:52 BST 2010


Юрий, читаем man bash
If command is not specified, any redirections take effect in the
current shell, and the return status is 0.

так что в этом случае сначала дескриптор 0 копируется в 9, а потом на
stdin подаётся содержимое файла /etc/fstab. Очевидно далее в скрипте
есть команды, которые читают stdin и что-то с этим делают.

см. http://www.faqs.org/docs/abs/HTML/io-redirection.html#AEN11909

2010/4/26 Юрий Аполлов <apollovy at gmail.com>:
> Вообще, речь о дескрипторах. И в данном контексте, судя по всему, пытаются
> выполнить (exec) команды из 0 и 9 дескриптора потока...
> Вот результат работы на моём компе:
> user at user-pc:~$ exec 9<&0 </etc/fstab
> user at user-pc:~$ # /etc/fstab: static file system information.
> user at user-pc:~$ #
> user at user-pc:~$ # Use 'blkid -o value -s UUID' to print the universally
> unique identifier
> user at user-pc:~$ # for a device; this may be used with UUID= as a more robust
> way to name
> user at user-pc:~$ # devices that works even if disks are added and removed.
> See fstab(5).
> user at user-pc:~$ #
> user at user-pc:~$ # <file system> <mount point>   <type>  <options>
> <dump>  <pass>
> user at user-pc:~$ proc            /proc           proc    defaults
> 0       0
> No command 'proc' found, did you mean:
>  Command 'proj' from package 'proj-bin' (universe)
> proc: command not found
> user at user-pc:~$ /dev/mapper/Laptop--VG00-root /               ext4
> errors=remount-ro 0       1
> bash: /dev/mapper/Laptop--VG00-root: Отказано в доступе
> user at user-pc:~$ # /boot was on /dev/sda5 during installation
> user at user-pc:~$ UUID=1a1090d4-b0d3-444f-9a36-a17ed4f95b88 /boot
> ext4    defaults        0       2
> bash: /boot: является директорией
> user at user-pc:~$ /dev/mapper/Laptop--VG00-home /home           ext4
> defaults        0       3
> bash: /dev/mapper/Laptop--VG00-home: Отказано в доступе
> user at user-pc:~$ #/dev/mapper/Laptop--VG00-swap none            swap
> sw              0       0
> user at user-pc:~$ /dev/scd0       /media/cdrom0   udf,iso9660
> user,noauto,exec,utf8 0       0
> bash: /dev/scd0: Отказано в доступе
> user at user-pc:~$ #/dev/mapper/cryptswap1 none swap sw 0 0
> user at user-pc:~$ /dev/sda3/media/Datantfsuid=1000,gid=100004
> bash: /dev/sda3/media/Datantfsuid=1000,gid=100004: Это не каталог
> user at user-pc:~$ exit
>
> То есть поочерёдно пытается запустить все команды, пришедшие из 0 и 9
> дескриптора (0 - это stdin, 1 - stdout, 2 - stderr; остальные - user-space,
> на сколько я помню). Потому ничего особого не выполняется, да и из  потока
> №9 ничего не идёт: ибо он пуст.
>
> 25 апреля 2010 г. 22:23 пользователь Ivan Surzhenko <i.surzhenko at gmail.com>
> написал:
>>
>> все-таки наверное процесса, а не потока
>>
>> --
>> ubuntu-ru mailing list
>> ubuntu-ru at lists.ubuntu.com
>> https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru
>
>
> --
> ubuntu-ru mailing list
> ubuntu-ru at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru
>
>



-- 
Алексей


Подробная информация о списке рассылки ubuntu-ru