論理分岐に関するいくつかの指示をスクリプトに渡します。

論理分岐に関するいくつかの指示をスクリプトに渡します。

パラメータに基づいて分岐したいスクリプトがあります。
デフォルトでは、このパラメータはブール値と同じです。しかし、私はユーザーがシェル実行コマンドにゴミを入力し、それをtrueと解釈したくありません。
または、大文字と小文字の区別の問題などを考慮する必要がある文字列がいくつかありません。
私が望む最終結果は次のとおりです。

some_script.sh arg1 arg2 arg3 --remove   

する:

PARAM1="$1"  
PARAM2="$2"  
PARAM3="$3"   
REMOVE=?--> what here   

if [ $REMOVE ]; then  
# remove some files  
fi   

ベストアンサー1

文字列が--removeスクリプトの位置パラメータにあることを確認するだけです。正規表現一致演算子を使用したbashバージョン=~

#!/bin/bash

if [[ $@ =~ --remove ]]; then
   echo "removing files"
fi

exit

POSIXバージョン:

#!/bin/sh

for arg in "$@"; do
   if [ "$arg" = "--remove" ]; then
      echo "removing files"
   fi
done

exit

おすすめ記事