псевдоним в fish - это просто оболочка для встроенной функции , она существовала для обратной совместимости с оболочкой POSIX. псевдоним
в fish
не работал как псевдоним POSIX .
Если вам нужен эквивалент псевдонима POSIX
, вы должны использовать abbr , который был добавлен в fish 2.2.0 :
abbr -a myfile "'/home/ben/test case/myfile'"
или:
abbr -a myfile "/home/ben/test\ case/myfile"
Я не нашел способа поиска в базе данных, но поиск записей непосредственно в OpenLDAP у меня работает.
$ ldapsearch -x -h ldap.example.com -ZZ \
-D cn=lookup,dc=example,dc=com -W \
-b ou=People,dc=example,dc=com -LLL \
sn=lastname uid
dn: uid=newbie,ou=People,dc=example,dc=com
uid: newbie
$
Вы можете использовать awk для выводаgetent passwd
:
getent passwd | awk -F: '$5 ~ /lastname/ {print $1}'
Вы можете использовать что-то вроде следующей команды sed
:
$ SURNAME=Smith
$ getent passwd | sed -n '/'$SURNAME'/s/^\([^:]*\):\([^:]*\):\([^:]*\):\([^:]*\):\([[:alpha:]]\+ '$SURNAME'\):\([^:]*\):\([^:]*\)$/\1 (\5)/p'
$ fps (Finnbarr Smith)
jms (James Smith)
$
Приведенное выше регулярное выражение 'sed `предполагает, что поле GECOS содержит точно