Для хорошего grep
решение, см. ответ Стефана . В качестве альтернативы, вот Perl:
perl -ne 'print if grep{$_!~/^\d{5}$/} split(/[,-]/); ' file
Это разделит каждую строку ввода на ,
или -
, а затем будет искать элементы разделенного массива, которые не состоят из ровно 5 номеров. Если они найдены, строка печатается.
Традиционно, с помощью login(1):
ENVIRONMENT
login sets the following environment variables:
HOME The user's home directory, as specified by the password
database.
SHELL The user's shell, as specified by the password database.
Хотя в наши дни эти настройки может делать оконный менеджер или терминальная программа, в зависимости от типа unix и того, насколько далеко они отошли от традиций. env
покажет, что в настоящее время установлено в окружении, которое оболочка или что-то другое могло быть изменено по умолчанию. Однако "настройки терминала" обычно не являются переменными среды, и такие оболочки, как bash
или zsh
, имеют команду set
и другие места, где они скрывают настройки...
Вы можете проверить значения по умолчанию для вашей системы в / etc / default / useradd
или с помощью sudo useradd -D
, это выведет значение по умолчанию для $ SHELL
и другие переменные.