2012-05-29 30 views
0

我正在写一个基本上包装了cd命令的bash函数,增加了一些额外的功能。编写cd-echo自定义错误消息的包装或让cd的错误消息冒泡?

这工作正常,但一旦出现问题(给定的路径不存在,用户没有足够的权限输入目录),用户会看到来自cd的错误消息。

简单的例子:

$ echo $PWD 
/home/helpermethod/workspace 
$ up helpermethod # goes up to the first directory named helpermethod 
$ echo $PWD 
/home/helpermethod 
$ up foo 
bash: cd: /home/helpermethod/foo: No such file or directory 

它是好让那些错误信息泡涨,不然我要提出的东西更有意义的用户(和隐藏实际的实现)?

EDIT

的功能是要由(希望)大量的用户使用。

EDIT 2

的功能是什么?up让我们的用户输入当前目录上面的目录的基名。

所以,如果你有例如

$回声$ PWD /家庭/ helpermethod /工作区/ JAVA

,你键入

$ up home 

PWD取和基本名称之后的部分是从PWD剥离。

它还允许进入“路径”走,如果有多个目录与相同基:

$ echo $PWD 
/foo/baz/foo/bar 
$ up baz foo # go to foo, which lies above baz 

回答

1

这完全取决于你的需求。你是为自己编写这个函数吗?如果是这样,它只取决于你的偏好。你在为别人写吗?那么这取决于他们的喜好和要求。

1

是否提供自己的错误消息取决于cd提供的错误消息是否在函数功能的上下文中有意义。既然你没有描述你的函数的功能集,如果一些消息被替换了,那么它是否会变得更有意义是不可能的。

1

我会自己处理常见的错误情况,给出一个更好的错误,然后让不常见的错误条件起泡。例如,输入错误的字符串可能会频繁发生,并且错误消息不会提供太多信息。更好地说:No such directory foo in current directory hierarchy什么的。事实上,这似乎是一个错误条件,你应该在尝试进行字符串处理时几乎免费获得。但是如果你有权限错误,或者整个树在此期间消失了,或者别的什么,你可能会错误地出错cd