2015-11-08 28 views
0

基本上,如何使这两个步骤:如何为`cd`写一个bash别名,也是`ls`目录内容之后?

$:/ cd Users 
$:/Users ls 
user1 user2 user3 

一步法:

$/ cd Users 
$:/Users 
user1 user2 user3 

的bash脚本的伪代码可以是:

after changing directories, pause the input state and take another command 
command('ls') 

编辑 这里是一个很棒的bash参考 - http://cb.vu/unixtoolbox.xhtml#scripting

编辑-2http://bhami.com/rosetta.html

编辑-3What are the special dollar sign shell variables?

+3

可能重复:http://askubuntu.com/questions/16106/how-can-i-create -an-alias-for-cd-and-ls –

+0

不清楚你的别名应该做什么,而正常的'cd'不能。此外,别名不赞成使用别名。 –

+0

@ n.m。 'cd'不显示新目录的内容。 – chepner

回答

0
alias mycd='cd $(history 1 | sed "s/.*mycd \(.*\)/\1/") && ls #' 
+0

这不能正常工作。对于'mycd somedir',它扩展为'cd somedir && ls somedir'并抱怨'somedir'不存在。尽管如此,历史操纵的理念也很完美。 –

+0

这是somedir不存在时的所需行为。 – Cyrus

+0

不,我不这么认为:如果存在'somedir',你的命令会把'cd somedir'放入它,然后发出'ls somedir'而不是'ls'。 DV不是从我,顺便说一句。 –