Я уверен, что существует несколько случаев исключения, но в целом большая часть программного обеспечения Linux является довольно портативной через главные дистрибутивы. С Ubuntu и это - кузен Debian, являющийся двумя из самых больших дистрибутивов, маловероятно, что авторы программы проигнорировали бы их. Основное исключение - то, что не все версии упаковываются для всех дистрибутивов быстрым способом. Вы могли бы столкнуться с ситуациями, где один дистрибутив в настоящее время имеет более новую версию в их репозиториях, чем другой дистрибутив.
В целом Вы, более вероятно, найдете программное обеспечение упакованным для Ubuntu и Не Fedora/RedHat, чем Вы наоборот, но это - обобщение и существует некоторое программное обеспечение, найденное в каждом, который не находится в других.
-t \t
передачи t
как разделитель: неупомянутая обратная косая черта всегда берет следующий символ буквально (кроме тех случаев, когда следующий символ является новой строкой). -t "\t"
передачи \t
как разделитель, различные версии join
может вести себя по-другому, когда Вы передаете несколько символов.
Передать вкладку, от удара, использования -t $'\t'
. $'…'
синтаксис подражает функции C и многих других языков где \
сопровождаемый буквами определяют управляющие символы, и \
может сопровождаться восьмеричными цифрами.
Иначе должен поместить литеральную вкладку в Ваш сценарий (между одинарными или двойными кавычками). Это не очень читаемо.
Если Вам нужна мобильность ко всем оболочкам POSIX такой как dash
, использовать
tab=$(printf '\t')
join -t "$tab" …
или непосредственно join -t "$(printf '\t')" …
.