我正在编写一个bash函数,它基本上包装了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
是否可以让这些错误消息冒出来,或者我应该向用户展示更有意义的内容(并隐藏实际的实现)?
修改
该功能将被(希望)很多用户使用。
编辑2
该功能的作用... up
让用户输入当前目录上方目录的基名。
所以如果你有例如。
$ echo $ PWD /家庭/ helpermethod /工作区/ JAVA
然后输入
$ up home
取PWD
,基名之后的部分将从PWD
中删除。
如果有一个具有相同基名的多个目录,它还允许输入行走的“路径”:
$ echo $PWD
/foo/baz/foo/bar
$ up baz foo # go to foo, which lies above baz
答案 0 :(得分:1)
这完全取决于您的要求。你在为自己写这个功能吗?如果是这样,那只取决于您的偏好。你是为别人写的吗?那么这取决于他们的偏好和要求。
答案 1 :(得分:1)
是否提供自己的错误消息取决于cd
提供的错误消息是否在函数功能的上下文中有意义。由于您尚未描述函数的功能集,因此无法判断某些消息是否在更换时更有意义。
答案 2 :(得分:1)
我会自己处理常见的错误情况,给出更好的错误,然后让不常见的错误冒出来。例如,键入错误的字符串可能经常发生,并且错误消息不会提供太多信息。更好的说法是:No such directory foo in current directory hierarchy
或其他什么。事实上,这似乎是一个错误的情况,你应该几乎免费获得,因为你尝试进行字符串处理。但是如果你有一个权限错误,或者整个树在此期间消失了,或者别的什么东西,那么你可能会错误地cd
错误。