Вы пытались применить рецепт для Ubuntu под Debian. Обычно это работает, но в данном конкретном случае - нет.
Ubuntu является производным от Debian и не сильно отличается от программы установки и графического интерфейса. Команда locale-gen
- одна из тех немногих вещей, которые она меняет. Не знаю почему.
В Debian команда locale-gen
не принимает аргументов и восстанавливает скомпилированные определения локали в соответствии с настроенным списком локалей. Чтобы изменить выбор языковых стандартов, которые вы хотите использовать, отредактируйте файл /etc/locale.gen
, затем выполните команду locale-gen
. Либо запустите dpkg-reconfigure locales
от имени пользователя root, выберите дополнительные языковые стандарты, которые вам нужны (и отмените выбор тех, которые вам не нужны), и нажмите OK.
В Ubuntu, если вы запускаете команду locale-gen
без аргументов, она восстанавливает скомпилированные определения локали в соответствии с настроенным списком локалей. Но если вы передадите некоторые аргументы, они добавятся в список и сразу же сгенерируются. Список локалей хранится в /var/lib/locales/supported.d/local
. Запуск dpkg-reconfigure locales
просто восстанавливает скомпилированные локали, не давая вам возможности изменить выбор.
Таким образом, чтобы добавить en_US.UTF-8
в список используемых локалей:
dpkg-reconfigure locales
sed -i 's / ^ # * \ (en_US.UTF-8 \) / \ 1 /' /etc/locale.gen && locale-gen
locale-gen en_US.UTF-8
Используйте что-то вроде sem
из GNU Parallel:
mkfifo myfifo
sem --id myid 'seq 1 10; sleep 1; echo done' > myfifo &
sem --id myid 'seq 2 10; sleep 1; echo done' > myfifo &
sem --id myid 'seq 3 10; sleep 1; echo done' > myfifo &
sem --id myid 'seq 4 10; sleep 1; echo done' > myfifo &
cat myfifo
Вот быстрый тест, который я провел:
mkfifo foo
yes "Process 1 reporting" > foo & yes "This is process 2" > foo &
awk '!a[$0]++' < foo
И вывод, который я получил от awk:
Process 1 reporting
Process 1 reportThis is process 2
This is process 2
This is pring
Process 1 reportocess 2
ing
ocess 2
This is prProcess 1 reporting