Решения тех проблем, с которым мне приходилось сталкиваться.

Показаны сообщения с ярлыком bash. Показать все сообщения
Показаны сообщения с ярлыком bash. Показать все сообщения

среда, 10 февраля 2010 г.

Считать пароль с клавиатуры

Как считать некий текст с клавиатуры, без его отображения на терминале? Для этого у внутренней bash'евской команды read есть специальный ключ -s (silent). Если в качестве последнего аргумента не указано имя переменной, куда нужно поместить результат, то результат помещается в переменную REPLY.
А нужно это было примерно для такого:


read -s && adduser2custombase.pl newuser $REPLY

После выполнения в терминале этой строчки приглашался пользователь, который задавал свой пароль.

вторник, 21 апреля 2009 г.

имя файла, путь, расширение

Полезно при написании скриптов на bash, которые конвертят и/или переносят файлы.
Имеется полное имя файла. Как извлечь разные его компоненты (отдельно путь, имя с раширением, имя без расширения, отдельно расширение)


foo=/tmp/my.dir/filename.tar.gz

path = ${foo%/*}
file = ${foo##*/}
base = ${file%%.*}
ext = ${file#*.}


При этом получается следующее:

path=/tmp/my.dir
file=filename.tar.gz
base=filename
ext=tar.gz


Первые два выражения аналогичны командам dirname и basename соответственно.

источник