bash псевдонім для "cd каталогу; лс ”


3

Як створити псевдонім BASH для:

Я набираю cdd directoryі що це таке, cd directoryа потім ls?


1
Примітка (хоча інші згадували) псевдоніми не можуть мати аргументів. Вам потрібна функція.
Багата Гомолка

1
Чому ви не використовуєте ls directoryнатомість?
користувач невідомий

Відповіді:


8

Було б простіше зробити функцію:

cdd () 
{
    cd $1
    ls
}

Звичайно, ви можете назвати функцію, що завгодно. Помістіть його у свій .bashrc чи .profile або все, що є у вашій системі.


це автоматично mkae cdls псевдонім?
фанк-шун

3
@ funk-shun це робить cddфункцію, яка на практиці діє майже так, як би псевдонім. Функції, проте, є більш потужними і аргументують аргументи.
Рейф Кеттлер

тому я вважаю, що $ 2 посилається на другий аргумент у виклику команди? -rу випадку ls -C -r?
фанк-шун

@ фанк-шун так.
Рейф Кеттлер

2

Ви хочете скористатися функцією, яку ви введете у свій .bashrc(або .bash_profile, або будь-який інший):

cdd(){
  to=$1
  cd ${to}
  ls
}

Як тільки ви помістите це у відповідний файл, ви можете використовувати cdd <directory>так само псевдонім.


1
Це буде
розбито

2

Як і інші приклади функцій, але цей буде працювати з каталогами з пробілами, не потребуючи уникнення пробілів.

cdd() {
    cd "$*"
    ls
}

1
alias dirXandLs='cd directory; ls'

Б'юсь об заклад, що ви дійсно хочете, щоб каталог був аргументом, тобто 1 долар. не може це зробити з псевдонімами.

Я сподіваюся, що це допомагає.


1

Я думаю, ось ваша відповідь. Ви можете додати цю функцію до файлу .bashrc:

function cd(){ builtin cd "$*" && ls }
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.