为什么在为cd编写包装器时需要使用cd“ $ @”而不是cd“ $ 1”?

RKA

在其他地方,我看到了cd功能,如下所示:

cd()
{
 builtin cd "$@"
}

为什么建议使用$@而不是$1

我创建了一个测试目录“ r st”,并调用了包含此功能的脚本,无论哪种方式都可以工作

$ . cdtest.sh "r st"

但是$ . cdtest.sh r st无论我使用"$@"还是失败"$1"

因为,根据bash(1)cd带参数

   cd [-L|[-P [-e]] [-@]] [dir]
          Change  the  current  directory to dir.  if dir is not supplied,
          ...

因此目录实际上可能不在目录中,$1因为目录可以是诸如-L或另一个标志之类的选项

这有多糟?

$ cd -L /var/tmp
$ pwd
/var/tmp
$ cd() { builtin cd "$1"; }
$ cd -L /var/tmp
$ pwd
/home/jhqdoe
$ 

如果您最终无法使用cd "$1"…进行操作,事情可能会变得很糟糕

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我可以CD //而不是///或////或/////或…

来自分类Dev

libtool错误cd:../ ..:不是目录

来自分类Dev

这个linux命令做什么:“ cd !!:1”

来自分类Dev

无法CD进入etc / profile,“不是目录”

来自分类Dev

PHP preg_replace。仅当CD的开头或结尾不是“-”时,才用CD替换AB。

来自分类Dev

false 命令(“dc”而不是“cd”) - 它做了什么?

来自分类Dev

使用cd时使用/

来自分类Dev

如何使用索引而不是名称进行ls / cd

来自分类Dev

当我通过符号链接进行cd时,为什么pwd显示符号链接而不是实际路径?

来自分类Dev

当我通过符号链接进行cd时,为什么pwd显示符号链接而不是实际路径?

来自分类Dev

为什么在doskey别名脚本中设置的%cd%返回脚本路径而不是当前目录

来自分类Dev

为什么cd需要目录的执行权限?

来自分类Dev

为什么在Mac OS上,“ type cd”指出“ cd is a function”?

来自分类Dev

安装Windows 7时,出现CDBOOT错误5:无法从CD引导;无法从CD引导。为什么?

来自分类Dev

cd〜<user>是可能的,但为什么我们不能cd〜“ $ USER”或cd〜$ {USER}

来自分类Dev

如何使用CD驱动器“绘制” CD的数据层?

来自分类Dev

如何使用CD / DVD创建器刻录CD

来自分类Dev

“ cd ../”与“ cd / ..”有什么区别?

来自分类Dev

“ cd ../”与“ cd / ..”有什么区别?

来自分类Dev

cd〜的区别是什么。和“ cd〜”

来自分类Dev

为什么SUB命令无法在xiki中使用cd命令?

来自分类Dev

Finding strings 'ab1cd', 'ab2cd', 'ab3cd', and 'ab4cd' with just one click

来自分类Dev

使用G1收集器时,为什么-XX:+ ExplicitGCInvokesConcurrent不是默认值?

来自分类Dev

无法使用cd致命:不是git存储库(或任何父目录):.git

来自分类Dev

为什么我的CD%myVar%被忽略?

来自分类Dev

为什么Ubuntu停止免费提供CD?

来自分类Dev

Ftp:为什么!cd不起作用?

来自分类Dev

为什么cd会调用函数':'?

来自分类Dev

为什么我无法将其插入CD?

Related 相关文章

  1. 1

    为什么我可以CD //而不是///或////或/////或…

  2. 2

    libtool错误cd:../ ..:不是目录

  3. 3

    这个linux命令做什么:“ cd !!:1”

  4. 4

    无法CD进入etc / profile,“不是目录”

  5. 5

    PHP preg_replace。仅当CD的开头或结尾不是“-”时,才用CD替换AB。

  6. 6

    false 命令(“dc”而不是“cd”) - 它做了什么?

  7. 7

    使用cd时使用/

  8. 8

    如何使用索引而不是名称进行ls / cd

  9. 9

    当我通过符号链接进行cd时,为什么pwd显示符号链接而不是实际路径?

  10. 10

    当我通过符号链接进行cd时,为什么pwd显示符号链接而不是实际路径?

  11. 11

    为什么在doskey别名脚本中设置的%cd%返回脚本路径而不是当前目录

  12. 12

    为什么cd需要目录的执行权限?

  13. 13

    为什么在Mac OS上,“ type cd”指出“ cd is a function”?

  14. 14

    安装Windows 7时,出现CDBOOT错误5:无法从CD引导;无法从CD引导。为什么?

  15. 15

    cd〜<user>是可能的,但为什么我们不能cd〜“ $ USER”或cd〜$ {USER}

  16. 16

    如何使用CD驱动器“绘制” CD的数据层?

  17. 17

    如何使用CD / DVD创建器刻录CD

  18. 18

    “ cd ../”与“ cd / ..”有什么区别?

  19. 19

    “ cd ../”与“ cd / ..”有什么区别?

  20. 20

    cd〜的区别是什么。和“ cd〜”

  21. 21

    为什么SUB命令无法在xiki中使用cd命令?

  22. 22

    Finding strings 'ab1cd', 'ab2cd', 'ab3cd', and 'ab4cd' with just one click

  23. 23

    使用G1收集器时,为什么-XX:+ ExplicitGCInvokesConcurrent不是默认值?

  24. 24

    无法使用cd致命:不是git存储库(或任何父目录):.git

  25. 25

    为什么我的CD%myVar%被忽略?

  26. 26

    为什么Ubuntu停止免费提供CD?

  27. 27

    Ftp:为什么!cd不起作用?

  28. 28

    为什么cd会调用函数':'?

  29. 29

    为什么我无法将其插入CD?

热门标签

归档