#!/bin/bash
for (( x=7; x <= 65; x+=2 ))
do
if [ $x!=57 && $x!=59 && $x!=29 && $x!=53 ]
then
cd charged_$x
cp -f ~aman/user_ana_normal_mode/Testforaman/user_ana.so .
cd ..
fi
done
問題が見つかりません。助けてください
ベストアンサー1
[ $x!=57 && $x!=59 && $x!=29 && $x!=53 ]
[
と同じ規則に従うコマンドですls
。&&
条件に応じてコマンドをグループ化するシェル方式です。で、[ foo && bar ]
シェルはコマンドを実行し[ foo
、成功すると実行しますbar ]
。コマンドはaを最後の引数と[
見なして失敗するため、2番目のコマンドは実行されません。]
[[ .. ]]
ただし、特殊条件構文はこれをサポートしているため、&&
使用できます[[ $x != 57 && $x != 59 && ... ]]
。演算子の周りにはまだ空白が必要です。 Plainは空でない文字列を$x!=57
テストするために使用され、$x!=57
値に関係なく常に空でない文字列になりますx
。
または、次の]
場所に最後の文章を入れてください&&
。[ "$x" != 57 ] && [ "$x" != 59 ] && ...