请问:如何执行cd进入目录后同时自动执行ls命令呢?

发表于:2007-07-04来源:作者:点击数: 标签:
csh环境下,这个alias该怎么写呢? adams@xFuture 回复于:2004-07-30 11:00:55 aliascd'cd;ls' idhly 回复于:2004-07-30 11:07:20 [quote:f8ce1b4cfd="adams@xFuture"]aliascd'cd;ls'[/quote:f8ce1b4cfd] 兄弟,这样cd后面的路径只传给了ls,没有给cd,目录永

csh环境下,这个alias该怎么写呢?

 adams@xFuture 回复于:2004-07-30 11:00:55
alias cd 'cd;ls'

 idhly 回复于:2004-07-30 11:07:20
[quote:f8ce1b4cfd="adams@xFuture"]alias cd 'cd;ls'[/quote:f8ce1b4cfd]

兄弟, 这样cd后面的路径只传给了ls, 没有给cd, 目录永远在home directory...

我的想法是编一个简单的script, 放在/bin下面就可以了...

 ppiandy 回复于:2004-07-30 11:10:22
怎么删除alias?

 anhui 回复于:2004-07-30 11:25:26
alias cd='cd '

:)

 kite321 回复于:2004-07-30 11:56:09
[quote:f24cfe0491="idhly"]

兄弟, 这样cd后面的路径只传给了ls, 没有给cd, 目录永远在home directory...

我的想法是编一个简单的script, 放在/bin下面就可以了...[/quote:f24cfe0491]

那请问:这个script该怎么写呀?

 kite321 回复于:2004-07-30 12:02:50
如何在脚本中执行cd命令(在当前shell下,不是子shell)?

 idhly 回复于:2004-07-30 12:03:15
lscd.sh内容:

[code:1:9cbd269de7]
#!/bin/sh

cd $1
ls .
[/code:1:9cbd269de7]

 kite321 回复于:2004-07-30 12:06:55
这样写的话ls自然没问题,但cd命令是在子shell中执行的,不会影响当前shell。
如何能让他在当前shell中执行呢?

 idhly 回复于:2004-07-30 12:10:07
[quote:8c390961ec="kite321"]这样写的话ls自然没问题,但cd命令是在子shell中执行的,不会影响当前shell。
如何能让他在当前shell中执行呢?[/quote:8c390961ec]

恩, 好象是有问题, 等高手解释吧...

 kite321 回复于:2004-07-30 12:26:33
只有如此了,: )

 jgkc 回复于:2004-07-30 13:21:32
脚本把cd命令替换了不行?
或者看一下原代码,把cd命令修改一下,也不是难事吧?

 idhly 回复于:2004-07-30 13:23:43
谢谢网中人, 这个问题解决了...

只要在运行shell前加一个. 就可以了...

比如:[code:1:cea1b9faa2]. lscd.sh directory[/code:1:cea1b9faa2]

 hero_sam 回复于:2004-07-30 14:17:57
好象还是有问题吧!
#bash
#.  lscd.sh directory
一切都OK
#csh
#.  lscd.sh directory
suspend: Too many arguments.

为什么呀?

 idhly 回复于:2004-07-30 14:29:46
source /bin/lscd directory

 purezhang 回复于:2004-08-01 09:50:40
不太明白 高手解释一下吧~~

 網中人 回复于:2004-08-01 22:25:39
try (in BASH):
function cd { command cd $1 && ls; }

 anber45 回复于:2004-08-02 18:27:01
这样试一下?
alias  cd 'cd \!*; ls -l ;set prompt="\! `hostname`:$LOGNAME $cwd> "'

 anber45 回复于:2004-08-02 18:29:33
删除alias是unalias

原文转自:http://www.ltesting.net