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

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

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

Archemar
источник
Я сделал подобное сначала, прежде чем опубликовать этот вопрос. Вместо текстового файла я просто поместил эти строки в файл без какого-либо расширения, и это не сработало. Но даже когда я попробовал его с расширением .txt, он не работал
Web Nash
Это сработало отлично. Спасибо вам большое. Я не понял разницу между использованием этих трех форм 1) alias.txt 2) ./alias.txt 3). ./alias.txt
Web Nash
формы 1) и 2) эквивалентны, если. находится в вашем $ PATH. Тай будет вызывать новую оболочку, запустить команду. В большинстве случаев это нормально, однако, если вам нужен псевдоним или функция, определение исчезнет при выходе из оболочки.
Архемар