Intereting Posts
Почему эхо << EOF… EOF не работает Debian на втором жестком диске на MacBook Не удалось разрешить IP-адрес для eth1 в Vagrant VM Являются ли приложения на одной рабочей среде Linux совместимыми с другой средой рабочего стола? Как установить / обновить только определенный пакет в Fedora из репо? Баш простой однострочный автозапуск ssh Почему setuid не работает над исполняемым файлом? Смонтировать и объединить содержимое папки Как подключиться через LAN-провод и WIFI-маршрутизатор к Интернету (только терминал) Открыть сеанс GNOME удаленно через SSH Как я могу предоставить файлы расширенных атрибутов в mac os x? OpenVPN успешно соединяется с сервером, но нет доступа в Интернет Веб-браузер командной строки с проверкой подлинности Kerberos? Почему Gnome 3.22 Assistive On Screen Keyboard поддерживает только Qwerty? Как надежно получить метку времени, в которой система загрузилась?

Нужно пояснить несколько аргументов и перенаправление ввода с помощью кошки

Файлы вместе со своим содержимым: –

~$cat a aaa aaa aaa ~$cat b bbb bbb bbb ~$cat c ccc ccc ccc 

Команды, которые мне нужны для объяснения: –

 ~$cat 0< a aaa aaa aaa ~$cat 0< ab bbb bbb bbb ~$cat 0< abc bbb bbb bbb ccc ccc ccc 

Мне нужно объяснение, почему содержимое файла 'a' было напечатано, когда я выполнил ~$cat 0< a и почему содержимое файла 'a' не было напечатано, когда я выполнил ~$cat 0< ab или ~$cat 0< abc .

cat читает stdin если работает без аргументов. Если вы дадите аргументы, они будут читать аргументы, а не stdin . Если вы хотите, чтобы он читал как свои файлы аргументов, так и stdin , make /dev/stdin один из аргументов (в зависимости от того, куда вы хотите пойти в конкатенации):

 cat 0<a /dev/stdin bc 

Заметки:

  • - или /dev/fd/0 также работает
  • 0< может просто быть <