【发布时间】:2014-05-10 13:03:58
【问题描述】:
我试图修改bd 脚本以使用getopts。我是 bash 脚本的新手
我的脚本是
while getopts ":hvis:d:" opt
do
...
done
...
echo $somedirpath
cd "$somedirpath"
这样做时运行良好
$ ./bd -v -i -s search
或
$ ./bd -is search -d dir
但是当这样运行时
$ . ./bd -s search
getopts 根本不读取参数。而且我在while循环中根据参数设置的所有变量都没有设置,所以脚本不再起作用。请帮忙!
【问题讨论】:
-
为什么需要 source 脚本?
-
@choroba 没有那个目录不会改变(脚本中的
cd在前两种情况下没有效果) -
无法在
bash3.2 或bash4.2 中重现。