2

Я случайно запустил команду

exec $SHELL -l

в моем терминале, и это изменило то, как выглядит моя подсказка

Macintosh:~ myname$ exec $SHELL -l
Macintosh-2:~ myname$ cd

то есть есть "-2" после Macintosh

Macintosh:~ myname$
Macintosh-2: myname$

Я не уверен, может ли это быть причиной некоторых проблем в моей системе.

Я пытаюсь использовать Ruby 1.9.3 в моей системе, которую я установил с Rbenv.

rbenv version
1.9.3-p327

Тем не менее, когда я пытаюсь установить гемы, я получаю сообщение об ошибке, что они требуют как минимум ruby 1.9.2, поэтому я предполагаю, что машина все еще использует версию Ruby, которая поставляется с моим Mac. Я пытался это исправить

gem install bundle
rbenv rehash
bundle install

но я продолжаю получать одно и то же сообщение об ошибке о необходимости, по крайней мере, Ruby 1.9.2, поэтому мне интересно, если эффект запуска exec $SHELL -l препятствует установке гемов по какой-то причине.

1 ответ1

2

$SHELL ссылается на вашу оболочку (интерпретатор команд).  Большинство оболочек распознают опцию –l (строчная буква L), означая, что это «оболочка входа в систему», что в первую очередь означает, что она читает и обрабатывает дополнительные командные файлы (например, csh всегда читает .cshrc , но если это «оболочка входа в систему»). », Он также читает .login).  Вы запустили новые процессы оболочки и сказали, что они действуют как «оболочка входа».

Некоторые оболочки (я считаю, что bash - один из них) отслеживают иерархические процессы оболочки и позволяют пользователю отображать глубину или уровень.  Это часто включается в приглашение оболочки, как в:

 (подсказка) pwd
/dir1
 (подсказка) $SHELL
 ( строка подсказки 2 ) cd ../dir2 # Обратите внимание, что уровень оболочки равен 2 ,
 (подсказка 2 строки) rm * # указывает, что вы находитесь в новом процессе оболочки.
 (подсказка 2 строки) exit
 (строка подсказки) pwd # Note возврат к исходному процессу оболочки.
/dir1

Это не должно иметь ничего общего с вашей проблемой с RubyGems.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .