LINUX.ORG.RU
решено ФорумAdmin

Как прочитать ~/.bashrc? Помогите запутался.

 ,


1

2

Здравствуйте. Что-то я запутался с bash. Я добавил переменные в файл /etc/bashrc через редактор, перечитал файл - все ок, выхожу, снова авторизуюсь - правила не работают. Как я понял, правила нужно добавлять в ~/.bashrc, но как этот файл найти в моей ОС Linux. Если добавлять через export, то правила куда-то сохраняются, по всей видимости, именно в него. Я наблюдаю только файл ~/.bash_history.

Это файл в домашней директории.

/home/<username>/.bashrc
Linuxman
()
Ответ на: комментарий от Valkeru

Хотя, наверное, в начале лучше пустой попробовать с нужными параметрами.

Valkeru ★★★★
()

в файл /etc/bashrc

в /etc/profile же

выхожу, снова авторизуюсь

где? это надо сделать в tty консоли.

а вообще как уже было сказано, для этого существует ~/.bashrc

Spoofing ★★★★★
()

просто создай ~/.bashrc

dikiy ★★☆☆☆
()
Ответ на: комментарий от Spoofing

где? это надо сделать в tty консоли.

в консоли

в /etc/profile же

в /etc/profile тоже ничего не наблюдаю

создать ~/.bashrc

Ну создать то я создам, а сейчас то куда правила сохраняются? Я смотрю чере env - они сохраняются 100%. Делаю под рутом.

drunkmad
() автор топика

Если добавлять через export, то правила куда-то сохраняются, по всей видимости, именно в него.

Какие правила? export действует только на память текущего шелла, в файл export не пишет.

mky ★★★★★
()
touch ~/.bashrc
nano ~/.bashrc
anonymous
()

«Правила», которые на самом деле переменные, валяются в памяти и никуда сами не сохраняются. Если знаком с программированием, то баш это просто интерпретатор, а переменные — его обычные переменные в памяти. При своем запуске («авторизация») баш не сразу выдает интерактивный промпт, а сначала выполняет содержимое ~/.bashrc. Если туда написать один в один то же, что ты сейчас пишешь в консоли, оно очевидно так же выполнится при следующем входе.

А еще у баша есть чисто внутренние переменные, а есть те, которые попадают в environment — его копия передается при запуске других программ, чтобы те им пользовались. export переводит переменную в environment.

arturpub ★★
()
Ответ на: комментарий от drunkmad

Делаю под рутом.

вот для рута настройки и сохраняются. Делай под тем пользователем, для которого настройки и нужны.

rikardoac
()
Ответ на: комментарий от mky

Фух, разобрался.

Смысл в том, что ~/.bash_profile читается при login, а ~/.bashrc при интерактивном старте оболочки. Создал ~/.bash_profile, добавил туда переменные(правила). Теперь все ок.

Какие правила? export действует только на память текущего шелла, в файл export не пишет.

Вы что-то путаете.

при желании, можно включить локальную переменную оболочки в основное окружение. Для этого используется команда export http://www.opennet.ru/docs/RUS/zlp/004.html

drunkmad
() автор топика
19 августа 2013 г.

если правильно понял то $ source ~/.bashrc

Перечитает фаил без перезагрузки и выхода-входа

censured
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.