Как я упоминал в https://unix.stackexchange.com/a/506429/5132, операционные системы на основе Linux -не обязательно используют одни и те же программы друг в друге. Известно множество реализаций нескольких довольно простых программ.
Они включают, но не ограничиваются:
ifconfig
имел 2 реализации: одну в GNU inetutils , а другую в NET -3 net -tools . Сейчас их 3, третий мой. (См.https://unix.stackexchange.com/a/504084/5132.)su
имеет 2 реализации: одну в util -linux и другую в shadow . Debian переключился с одного на другой в 2018 году, что сделало неверными несколько старых вопросов и ответов здесь, на этом веб-сайте. (См.https://unix.stackexchange.com/a/460769/5132и, например, "su vs su-(в Debian ):почему PATH одинаковый? ".)mailx
команду :GNU Mailutils, BSD mailx, NMH и s -гвоздь. Они отличаются синтаксисом командной строки -. (См. https://unix.stackexchange.com/a/489510/5132.)vi
может быть по-разному реликвией/традиционнойvi
(исходной версией Билла Джоя, которая используется по умолчанию vi
в Arch Linux, но, напротив, вообще недоступна в виде пакета в Debian Linux ), STEVIE Брэма Муленаара -производный VIM в режиме совместимости, или даже Элвис Кита Бостика -производный nvi. Заметьте, что, строго говоря, это не вариация среди различных инструментов GNU . Инструменты для операционных систем на базе Linux -не исключительно из проекта GNU. Такие операционные системы также имеют инструменты из наборов инструментов, отличных от -GNU.
Кроме того, между операционными системами на базе Linux -существуют различия, когда речь идет об использовании одних и тех же наборов инструментов, тоже . Все они строятся со своими собственными наборами различных локальных модификаций.Например:
rc
. (См. https://unix.stackexchange.com/a/389298/5132,https://unix.stackexchange.com/a/451966/5132и https://unix.stackexchange.com/a/471871/5132.)--ips
для команды who
. (См. https://unix.stackexchange.com/a/24279/5132.)conv=notrunc
при вводе команды dd
oflag=append
. clear_console
командой, которая является одним из многих механизмов, заставляющих Грега Вуледжа (и др. )для очистки экрана xyr. (См. https://unix.stackexchange.com/a/451150/5132.)grotty
генерировать «новые» последовательности управления терминалом из ISO 8613 -6 :1994 и ECMA -48 :1976 вместо (очень )старый TTY -37 управляющих последовательностей с 1968 года, отключен. Arch Linux также вызывает перевод одинарных кавычек и дефисов в латинский -1 апостроф и минус в некоторых случаях. nano
имеет меню, измененное из-за исправлений Debian. vi
локально исправляется несколькими способами, которые отличают его от оригинала, включая другой каталог для сохранения файлов и поддержку редактирования клавиш клавиатуры, которых Билл Джой никогда не имел на своем ADM -Клемма 3A (например PgUp и PgDn , см. https://vi.stackexchange.com/q/9313/19613). ChallengeResponseAuthentication
, выключает PrintMotd
и включает UsePAM
. Debian Linux применяет обширный набор исправлений . И так далее.
vi
Клоны и домашние страницы ".vi
Страницы . guckes.net. diff
обеспечивает нулевой статус выхода, если различий не обнаружено, поэтому просто используйте diff
один раз и при необходимости выведите сообщение:
if diff file1 file2; then
echo 'no diff'
fi
diff
может иметь опцию -s
/--report-identical-files
( расширение спецификации POSIX ). Это упростит команду до:
diff -s file1 file2
Причиной ошибки [1,8c1,8: not found
был неправильный синтаксис :[
, который должен появиться сам по себе с допустимым выражением и закрывающим аргументом ]
. Информацию о том, как использовать test
, можно найти здесь на unix.stackexchange(ссылкассылкассылка)и на страницах руководства man 1 test
иman 1p test
test.sh
первая строка — #!/bin/zsh
, но затем скрипт запускается с sh
интерпретатором (, который, вероятно, не являетсяzsh
). Если вы хотите использовать функции zsh
, убедитесь, что вы действительно запускаете скрипт сzsh