Этого можно добиться с помощью обработки строк bash, удаляя самое длинное совпадение из строки непосредственно для каждой строки, читаемой следующим образом:
for line in $(cat inputfile); do echo "${line%%:*}"; done
Это может быть полезной альтернативой, если вы анализируете файл в сценарии оболочки (, хотя я подозреваю, что использование cut может быть более эффективным ).
Ничто не мешает вам сменить оболочку и вообще забыть о существовании bash.
chsh --shell /usr/bin/fish
# or
usermod --shell /usr/bin/fish luarocks
Похоже, вам не нравится его присутствие в принципе, но в жизни может быть много вещей, которые мы не любим, но умудряемся игнорировать, не сойдя с ума.
Насколько я знаю, нет -хорошо поддерживаемых дистрибутивов с большой аудиторией, которые не используют bash. Если вы действительно хотите иметь дело с менее поддерживаемыми, вы можете даже использовать те, которые поставляются с busybox
.