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