macOS Catalina 10.15 (бета-версія) - Чому моя оболонка не отримує ~ / .bash_profile?


120

Я хочу , щоб встановити змінну оточення я додав нижче лінії ~/.bash_profileі , ~/.profileале це не робота.

export JBOSS_HOME=/Users/{USERNAME}/Desktop/jboss7

Потім вийдіть з терміналу і відкрийте його знову, коли виконуєте, echo $JBOSS_HOMEя нічого не отримую.
введіть тут опис зображення


Я припускаю, що .bash_profile не отримано. Ви впевнені, що ваш термінал створює оболонку входу bash ? Якщо ні, файл .bash_profile буде проігнорований.
user1934428

1
@ user1934428 Так, це так. Я не знаю, чому змінився типовий bash? !!
Реза Дехнаві,

Я не розумію. Яке "за замовчуванням" змінено? Ви не сказали, яку програму Terminal ви використовуєте, але зазвичай ви можете налаштувати програму Terminal, як запускати оболонку.
user1934428

@ user1934428 Я не знав, що існує різноманітна оболонка.
Реза Дехнаві,

1
Apple замінює bash на zsh як оболонку за замовчуванням у macOS Catalina stackoverflow.com/a/59151321/5788247
Shomu

Відповіді:


304

Apple змінила оболонку за замовчуванням на zsh. Тому вам доведеться перейменувати файли конфігурації. .bashrcє зараз .zshrcі .bash_profileє зараз .zprofile.


4
Apple перейшла з bash на zshell через проблеми з ліцензуванням. thenextweb.com/dd/2019/06/04/…
Мануель Ернандес

119
Це такий чудовий досвід для користувачів, як моє налаштування розробника руйнується з кожним оновленням OS-X
Кріс Хаттон,

2
@ChrisHatton Я просто продовжую чекати наступного оновлення, щоб я міг зламати мою поточну установку і знову розпочати все з нуля, з нетерпінням чекаючи наступного випуску!
Utsav Gupta

51

Якщо ви з якихось причин (як і я) не хочете перейменовувати / переміщувати свій ~/.bash_profileфайл, ви можете зробити наступні дії:

  1. Створіть новий файл ~/.zprofile
  2. Наберіть там source ~/.bash_profile
  3. Збережіть і закрийте
  4. Запустіть новий термінал

5

Я створив новий файл під назвою

/usr/local/bin/mybash

який містить сценарій обгортки:

/usr/local/bin/bash --init-file $HOME/.bashrc

Я встановив цей локальний / bin / bash з HomeBrew .

Повна послідовність подій

brew install bash
echo "/usr/local/bin/bash --init-file $HOME/.bashrc" > /usr/local/bin/mybash
chmod +x /usr/local/bin/mybash

Потім я відкрив налаштування для terminal.app[cmd-кома]. На Generalвкладці виберіть перемикач дляCommand (complete path)

У текстовому полі змініть текст з /bin/zsh/на /usr/local/bin/bash.

Приклад остаточного формату


2
Це хороший варіант, оскільки наведені вище відповіді не враховують, що певний синтаксис відрізняється від zsh та bash.
Прашант Шарма

3

Після закриття вікна терміналу змінні, встановлені у цьому вікні, більше не доступні. Якщо ви хочете, щоб значення змінної зберігалося протягом сеансів та у всіх вікнах терміналу, ви повинні встановити його у сценарії запуску оболонки. Інформацію про зміну сценарію запуску оболонки zsh для збереження змінних та інших налаштувань протягом декількох сеансів див. У розділі „Виклик” на сторінці zsh man .

Ви можете використовувати ~/.zloginдля додавання змінних.

Перевірте це посилання .


1

Ви можете просто скопіювати ваш існуючий bash_profile і назвати його zprofile, і він буде працювати нормально.

  • Запустіть наведену нижче команду в терміналі, і ви готові після закриття та відкриття нового терміналу.

cp ~/.bash_profile ~/.zprofile


0

зміна профілю bash на zsh profile працює і джерело його також бачити в дії.

vikas@Vikas-Kumar ~ % mv .bash_profile .zsh_profile
vikas@Vikas-Kumar ~ % source .zsh_profile

0

Ви можете створити символічне посилання та зберегти файл .bash_profile за допомогою цього:

ln -s .bash_profile .zsh_profile
source .zsh_profile

Будь-які зміни у .bash_profile відображатимуться у .zsh_profile


Я отримую ln: .zsh_profile: Операція не дозволена
Салман Улла Хан

0

вам не потрібно оновлювати файл, zsh є типовим для mac, поставте це в термінал. наприклад:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

0

Навіть з ОС Catalina / bin / bash безкоштовно, заварювати не потрібно. Просто створіть .bash_profile і встановіть оболонку в налаштуваннях терміналу на / bin / bash . він автоматично знаходить ваш .bash_profile. z-shell не є bash-shell, і просто перейменування спрацює в більшості випадків, але точно не правильно.


-3
cp zprofile ~/.zprofile

Додати до .zprofile:

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

напр. від>vi .zprofile

Готово

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.