bash版本中带有多个参数的cd的不同行为


14

在这里张贴一些令我感到困惑的东西;将应用程序服务器从Jessie升级到Stretch破坏了bash脚本。

经过调查,我们将其范围缩小到cd命令行为的变化。我在这里不是在讨论脚本的操作是一个好主意,还是可以改进,我只是在关注行为更改/更改意识的思维方式。

杰西

$echo *-*
xxxx-1.0b xxxx-run
$cd *-*

光盘工作和光盘到第一个目录; 实际上,* -run是指向同一目录的符号链接。

伸展

$echo *-*
xxxx-1.0b xxxx-run
$cd *-*
bash: cd: too many arguments

bash 在Jessie中为4.3.30(1),在Stretch中为4.4.12(1)。

为什么Jessie和Stretch之间的行为发生了变化?


Answers:


23

请参阅bash 4.4发行说明,尤其是

qq。config-top.h中有一个可设置的新选项,该选项使多个目录参数cd成为致命错误。

顺便说一句,我不知道。我只是用谷歌搜索“ bash cd number 4.4”。


8
有趣。好东西恕我直言,因为它避免了在遇到逃逸的错误时无声地丢弃其他参数。
频谱

@spectras有趣的评论虽然我怀疑它可能会对安全性产生影响,但并没有从这个角度出发。
Rui F Ribeiro
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.