Причина, почему Вы видели версию удара вместо имени пользователя после файлов профиля, была удалена, был то, что командная строка (часто содержащий имя пользователя) установлена в этих файлах. Вы видели бы точно то же после вызова bash --norc
.
Интересно, никакая командная строка не установлена в Вашем/etc/profile, который часто имеет место в современных системах; обычно, у Вас есть что-то как
if [ "$PS1" ]; then if [ "$BASH" ]; then PS1='\u@\h:\w\$ ' if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi else if [ "`id -u`" -eq 0 ]; then PS1='# ' else PS1='$ ' fi fi fi
tee
может дублировать текущую консоль, используя tee /dev/tty
git status --short | cut -b4- | tee /dev/tty | xargs gvim --remote
Альтернативно, вы можете использовать Это неверно, читайте комментарии. /dev/stdout
или /dev/stderr
, но они могут быть перенаправлены, если ваша команда находится внутри скрипта. Обратите внимание, что /dev/tty
всегда будет консолью (и может не существовать в неинтерактивной оболочке).
Более общее решение, чем / dev / tty
:
start cmd:> echo foo | tee /dev/stderr
foo
foo
Вы можете использовать команду tee , просто загрузив ее с помощью файла STDERR , например:
tee /dev/stderr
tee /proc/self/fd/2
, так что в этом случае ваш псевдоним может быть:
git status --short | \
cut -b4- | tee /dev/stderr | \
xargs gvim --remote