Создание нескольких временных псевдонимов


9

Я не являюсь пользователем root, и у меня нет доступа к глобальному файлу псевдонимов, в котором есть все созданные псевдонимы, но я хочу создать некоторые псевдонимы, которые остаются активными только для сеанса, в который я вошел. Я использую команду alias x='cd /parent/child'для создания псевдоним, который позволит мне просто набрать xна консоли, и я изменю dir на / Parent / Child.

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

Я попытался поместить все строки псевдонима = 'do this' в файл (дал ему разрешение 777), надеясь, что при запуске файла все эти псевдонимы будут создаваться при каждом входе в систему. Но этого не произошло.

пример:

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

Я также попробовал это в файле, но тщетно:

alias x='cd /parent/child';alias y='cd /a/b/c';alias z='tail -0f some.log'

Ни одно из названий псевдонимов, которые я пробовал, уже не присутствовало в глобальном псевдониме. (Я набрал псевдоним и увидел вывод на экране).


Вы можете поместить все ваши псевдонимы в .bashrcфайл.
Cuonglm

@Web Nash: Но если вы хотите передать разные аргументы различным командам, это не сработает
Thushi

Ответы:


12

генерировать все псевдонимы сеанса в файле, например alias.txt

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

затем используйте

 . ./alias.txt

Вы должны иметь все псевдонимы в списке псевдонимов для этого единственного сеанса.

Редактировать:

Обязательно используйте

. ./alias.txt

не

./alias.txt

В первом случае содержимое читается «как если бы оно было напечатано», а во втором случае псевдоним будет определен в оболочке, которая завершится.


Я сделал подобное сначала, прежде чем опубликовать этот вопрос. Вместо текстового файла я просто поместил эти строки в файл без какого-либо расширения, и это не сработало. Но даже когда я попробовал его с расширением .txt, он не работал
Web Nash

Это сработало отлично. Спасибо вам большое. Я не понял разницу между использованием этих трех форм 1) alias.txt 2) ./alias.txt 3). ./alias.txt
Web Nash

формы 1) и 2) эквивалентны, если. находится в вашем $ PATH. Тай будет вызывать новую оболочку, запустить команду. В большинстве случаев это нормально, однако, если вам нужен псевдоним или функция, определение исчезнет при выходе из оболочки.
Архемар
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.