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
取代文件。
任何解決方案?