meaning - linux export用法




如何測試是否存在兩個文件? (3)

[[是特定於bash的語法。 對於POSIX兼容的shell,您需要:

[ -f file1 ] && [ -f file2 ]

我想檢查兩個文件是否存在,但我得到了

test.sh: line 3: [: missing `]'

任何人都可以看到什麼是錯的?

#!/bin/sh

if [ -f .ssh/id_rsa && -f .ssh/id_rsa.pub ]; then
   echo "both exist"
else
   echo "one or more is missing"
fi

嘗試添加額外的方括號。

if [[ -f .ssh/id_rsa && -f .ssh/id_rsa.pub ]]; then

[ -f .ssh/id_rsa -a -f .ssh/id_rsa.pub ] && echo both || echo not

要么

[[ -f .ssh/id_rsa && -f .ssh/id_rsa.pub ]] && echo both || echo not

另外,如果您使用[[ ]]解決方案,您可能希望根據問題標籤將#!/bin/sh更改為#!/bin/bash







bash