ROOTPATH="/path/here"
p1 = "file1"
p2 = "file2"
for file in `find $ROOTPATH type f`; do
if [["$file" =~ $p1]]; then
echo 'got p1'
elif [["$file" =~ $p2]]; then
echo 'got p1'
else
echo 'got nothing'
失敗する理由を知りません。と$p1
両方とも$p2
文字列で、ファイルも文字列です。
私は(2)文字列を比較して、2つの別々の条件に存在することを確認しよ$p1
うとしています。p2
$file
私は何が間違っていましたか?
ベストアンサー1
「タイプ別検索」演算子を使用するためにfind
必要な構文がありません。
for file in $(find "$ROOTPATH" -type f); do
p1
そして変数への割り当てはp2
構文上正しくありません。
p1="file1" # Assigns the value 'file1' to the variable p1
p1 = "file1" # Attempts to execute `p1` with arguments '=' and 'file1'
また、両方のステートメントは同じであるため、ユースケースに応じて2番目のケースのコマンドを変更する必要がecho
あるかもしれません。echo
また、ステートメントの構文にif
欠陥があり、[[
タグの前後にスペース文字またはコマンド区切り文字が必要です]]
。