Як я можу джерело файлу bashrc кожного разу, коли я 'очищаю'


13

Це може бути поганою ідеєю. Чим більше я думаю про це, тим більше я доходжусь до усвідомлення того, що я, мабуть, не повинен цього робити ... але я намагався і не вдавався, тому я дійсно хочу знати, як це зробити, навіть якщо це погана ідея.

Я хочу, щоб файл bashrc з'являвся щоразу, коли я запускаю clearкоманду. Причина цього абсолютно матеріалістична. У мене інформація про систему повторюється, коли я надсилаю Bashrc, і мені це круто, і мені хотілося б, щоб вона була на вершині кожного разу, коли я очищую.
Я намагався створити кілька псевдонімів, clearале я продовжую працювати в нескінченних циклах. Очевидне виправлення полягає в тому, щоб змінити псевдоніми на щось інше, крім чіткого, щоб я міг запускати чітку команду в псевдонімі, не втручаючись, але я набираю чітку так часто, що в цей момент це начебто вбудоване моє мозок. Я хотів би мати можливість ввести clear та дати зрозуміти І джерело файлу bashrc.


2
Переконайтесь, що ваш .bashrc скрипт не має сукупних ефектів. Якщо це робить щось на зразок додавання речей до ваших шляхів, воно може заплутатися. Взагалі .bashrc призначений для ініціалізації вашого середовища оболонки. якщо це робить інші речі, тоді було б краще розділити їх на новий сценарій і зателефонувати за цим разом з чітким. Крім того, якщо хтось інший використовує вашу систему або допомагає вам, він може зіткнутися з несподіваною поведінкою, тому що ви змінили загальну команду.
Джо

@Joe Це хороший момент щодо інших людей, які використовують мою систему. Ви, хлопці, придумали багато речей, про які я не думав.
CaldwellYSR

Відповіді:


27

alias clear='source ~/.bashrc; \clear'

Повідомляє \bash, що потрібно викликати зовнішню команду, а не псевдонім.


Ах чудово, я знав, що це буде щось таке просте!
CaldwellYSR

13
Ймовірно, ви хочете зробити це в іншому порядку, інакше прозоре видалить будь-який .bashrcстворений результат. Але також погана ідея взагалі .bashrcотримувати вихід .
cjm

@cjm Так, я зрозумів, що сьогодні вранці про замовлення. Я вже мав це в правильному порядку, я просто не мав ` in front of чіткого вигляду` Я перегляну цю інформацію про bashrc та вихід. Дякуємо за посилання
CaldwellYSR

альтернатива \clearєcommand clear
glenn jackman

@CaldwellYSR, коротка версія - це ssh host commandджерела .bashrc. Якщо це генерує висновок, це сплутає будь-які сценарії, які намагаються запустити віддалені команди на вашому хості та акаунті. Ви, можливо, не робите цього зараз, але коли-небудь можете, і тоді ви будете розгублені, чому це не працює.
cjm

2

Напишіть сценарій, який друкує потрібну вам системну інформацію. Закликайте його з .bashrcі clearпсевдоніму.


1

Після цього ви .bashrcвстановите псевдонім для clearцих джерел .bashrc:

alias clear='clear && . ~/.bashrc'

1

За коментарем Джо ... якщо у вас є "кумулятивні ефекти" (ваш профіль не безпечно повторно повторювати), ось хак, щоб обійти це!

alias clear='\clear; exec bash -l'

Це дійсно запускає нового перекладача щоразу, коли ви все зрозумієте, гарантуючи, що це дійсно новий початок у всіх відношеннях. Хоча виконання, означає, що ви не маєте багатьох процесів, що лежать пізніше.

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