gpt4 book ai didi

bash - 在 bash 中,[[ test 1 && test 2 ]] 与 [[ test1 ]] && [[ test 2 ]] 之间有什么区别

转载 作者:行者123 更新时间:2023-11-29 08:55:28 25 4
gpt4 key购买 nike

以下两个 bash 评估有什么区别(如果有的话):

if [[ -s $file1 && $file1 -nt $file2 ]]; then

if [[ -s $file1 ]] && [[ $file1 -nt $file2 ]]; then

最佳答案

没有区别。它们在功能上是相同的。


有趣的是,如果您使用 [ 而不是 [[,实际上可以检测到由计算顺序引起的差异:

[ -s "$file1" -a "$file1" -nt "$(echo side effect >&2)" ] 

[ -s "$file1" ] && [ "$file1" -nt "$(echo side effect >&2)" ]

在这种情况下,第一行会打印“side effect”而第二行不会。

不过,这只是 [ 而不是 [[ ]] 的情况。

关于bash - 在 bash 中,[[ test 1 && test 2 ]] 与 [[ test1 ]] && [[ test 2 ]] 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20621011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com