Можно использовать CDPATH
настраивать каталог, эквивалентный из PATH
; при попытке cd foo
и существует нет foo
в текущем каталоге оболочка будет регистрировать каждый из каталогов CDPATH
поиск foo
в них и переключателе к первому это находит:
export CDPATH="/usr"
cd bin # switches to 'bin' if there is one in the current directory, or /usr/bin otherwise
ps
использует uid, когда имя пользователя является дольше, чем 8 символами.
Можно управлять шириной столбцов:
ps o user:12,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,comm
это воспроизводит u
формат ps u
, но это делает пользовательские полевые 12 символы широкими.
Уверенный у Вас есть проблема с Вашим/etc/passwd... Вы отредактировали его вручную, не так ли?:)
так или иначе я воспроизвел проблему, копируя строку пользователя в/etc/passwd и изменив имя пользователя идентификатором пользователя.
Как это:
root@juice:/etc/# grep 129 /etc/passwd
129:x:129:137:Puppet configuration management daemon,,,:/var/lib/puppet:/bin/false
puppet:x:129:137:Puppet configuration management daemon,,,:/var/lib/puppet:/bin/false
Обратите внимание, что "пронумерованный пользователь" является первым.
root@juice:/etc/# sudo -u puppet -s
129@juice:/etc/$ whoami
129
129@juice:/etc/$ touch /tmp/a
129@juice:/etc/$ ls -l /tmp/a
-rw-r--r-- 1 129 puppet 0 2010-09-23 19:12 /tmp/a
129@juice:/etc/$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
129 12443 2.2 0.1 7112 4380 pts/1 S 19:12 0:00 /bin/bash
129 12490 0.0 0.0 2716 1068 pts/1 R+ 19:12 0:00 ps u
Попытайтесь выполнить "whoami", уверенный, что он возвращается 107 :)
Это - странное поведение, PS возвращает число и ls нормальное имя:-m...
Решить его: