🔤🔤🔤🔤🔤🔤🔤
Первая статья: https://t.me/bashdays/1356
Вторая статья: https://t.me/bashdays/1360
Началось с того, что я тупанул. Я знал, что pfSense и opnSense основаны на BSD, и знал, что обычно там отсутствует bash.
ㅤ
И почему-то подумал, что придется писать скрипт на csh (tsch). Я не знаю csh, но принципиальных отличий нет.
Ну, скрипт и скрипт. Небольшие отличия в синтаксисе.
if и while присутствуют, значит проблем нет. Это действительно так. Самой большой проблемой стал перенос длинных строк даже в константах:#!/bin/bash
echo '1
2
3'
#!/bin/csh
echo '1 \
2 \
3'
Это делает однострочники (в моем случае awk) крайне уродливыми. Когда скрипт уже работал, я решил проверить, какие там есть оболочки
cat /etc/shells , и с изумлением обнаружил /bin/sh.Ладно, потратил лишних пару дней, но приобрел опыт. Винить некого. Но плюс в том, что если знаешь bash - в случае крайней необходимости можешь написать скрипт и для другой оболочки.
Были небольшие затыки с программами. Вроде
date, как date, но ключики немного не совпадают. Я думал там gawk, но нет, awk. (не нашел разделы BEGINFILE{...} ENDFILE{...}). Но, при большом желании можно обойтись и без них.Что порадовало, так это наличие man в opnSense. В pfSense его не было. И это очень круто.
Очень жаль, что не нашел
ramdisk /dev/shm (в Linux он обычно есть и под него выделено половину оперативки).Ну, и еще одной проблемой стал редактор vi, который оказался единственным в системе!!!
ed, red, sed не в счет, хотя, если припрет... В pfSense был еще nano.Я в последнее время использую vim (который начал изучать после рекомендаций Дмитрия Малинина здесь, на BashDays. За что ему спасибо.) Кто еще не начал - ставьте vim, и запускайте vimtutor. Этого будет достаточно, чтобы как-то работать в vi и vim.
Вывод из всего этого - nix это круто. И не важно - Linux или BSD. Они очень похожи, по крайней мере, если знаешь что-то одно - разобраться не проблема. Принципы одинаковые.
Холиваров прошу не устраивать. Просто решил поделиться опытом. Если где-то ошибся - поправьте.
🛠 #networks #linux #bash
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog