1
私は複数の引数を受け入れる関数を持っています。私は正規表現で文字列を渡しています。しかし、それがeval
となったら、他のパラメータがうんざりしています。正規表現を関数に渡す方法
コードは以下のようなものです -
function foo() {
eval DIR_NAME='$'$1
MAX_DEPTH=$2
eval FILE_PATTERN=$3
RETENTION_PERIOD=$4
eval MOVE_PATH='$'$5
find . -maxdepth "$MAX_DEPTH" -type f -name "$FILE_PATTERN" -mtime +"$RETENTION_PERIOD" -print | ...
}
DIR_NAME="/my/path"
MAX_DEPTH=2
FILE_PATTERN="*.txt"
RETENTION_PERIOD=30
TARGET_DIRECTORY="/move/to/path"
foo DIR_NAME $MAX_DEPTH $FILE_PATTERN $RETENTION_PERIOD TARGET_DIRECTORY
は今、問題が拡大しつつあるfind
コマンド$FILE_PATTERN
であり、すべての.txt
パス内のファイルとRETENTION_PERIOD
で自身を置き換えて、MOVE_PATH
の変数は、他の.txt
によって置換得ていますファイル。
これにはどのような解決策がありますか?