例如我想要:
/tmp: $ cs /home
执行“cd /home; ls”并给出:
user1 user2 user3 egfile.txt
/home: $
答案1
您不能将参数传递给别名,但可以传递给函数。
cs() {
cd "$@"
ls
}
答案2
结合@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
以便仅显示大小、修改时间和名称。
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