псевдоним bash для «cd directory»; LS»


2

Как создать псевдоним BASH для:

Я печатаю в cdd directory и что это делает cd directory а потом ls?


1
Примечание (хотя другие упоминали) псевдонимы не могут иметь аргументы. Вам нужна функция.
Rich Homolka

1
Почему ты не используешь ls directory вместо?
user unknown

Ответы:


7

Было бы проще сделать функцию:

cdd () 
{
    cd $1
    ls
}

Конечно, вы можете назвать функцию как угодно. Поместите его в ваш .bashrc или .profile или что-то еще в вашей системе.


это автоматически mkae cdls псевдоним?
funk-shun

3
@ фанк-шун это делает cdd функция, которая на практике действует почти так же, как псевдоним. Хотя функции более мощные и принимают аргументы.
Rafe Kettler

так что я понимаю, что $ 2 относится ко второму аргументу в вызове команды? -r в случае ls -C -r?
funk-shun

@ фанк-шун да.
Rafe Kettler

2

Вы хотите использовать функцию, которую вы положите в свой .bashrc (или же .bash_profileили что угодно)

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

Как только вы поместите это в соответствующий файл, вы можете использовать cdd <directory> как псевдоним.


1
Это сломает каталоги с пробелами в них
Daenyth

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.