8
:は、間の差分何[[test1の&& TEST2]]対[[TEST1]] && [[TEST2]]次の二つのbashの評価に差があれば、何
if [[ -s $file1 && $file1 -nt $file2 ]]; then
if [[ -s $file1 ]] && [[ $file1 -nt $file2 ]]; then
:は、間の差分何[[test1の&& TEST2]]対[[TEST1]] && [[TEST2]]次の二つの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)" ]
、最初の行は「側を印刷します効果 "をもたらし、第2は効果を発揮しない。
ただし、これは[
の場合のみであり、[[ ]]
の場合は該当しません。