3

Например, я хочу:

/tmp: $ cs /home

выполнить CD / Home; и дайте:

user1 user2 user3 egfile.txt
/home: $

2 ответа2

8

Вы не можете передавать аргументы псевдониму, но вы можете использовать функцию.

cs() {
cd "$@"
ls
}
1

Объединение ответов @garyjohn и @Gilles с interactive? проверьте и уточните форматирование вывода ls .

Теперь вы можете безопасно добавить это в ваш ~/.bashrc или /etc/bash.bashrc:

Базовая версия

#
# Replace every cd with cd+ls
#
if [[ $- == *i* ]]; then  # if running interactively
  cd() {
    builtin cd "$@" && ls
  }
fi

Прекрасная версия

Фильтрует вывод ls так, что отображаются только размер, mtime и имя.

if [[ $- == *i* ]]; then  # if running interactively
  cd() {
    builtin cd "$@" &&
    ls --color=always -lh | 
    awk '{ for(i=5; i<=NF; i++) {printf("%s ", $i)}; print ""} '  | 
    column -t  && echo
  }
fi

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .