我正在编写一个脚本来删除特定位置的日志文件。我会将目录和文件名作为参数传递给函数。此功能将删除此文件。
代码低于
#!/bin/sh
folder= '/apps/applications/jboss-as/servers/domain/log/'
logfile=temp.log
delFile(){
echo 'you will delete $1 $2'
file_to_del='$1$2'
rm -rf $file_to_del
}
delFile $folder $logfile
输出如下。
您将删除$ 1 $ 2
您能告诉我应该如何根据我的要求更新此代码吗?
答案 0 :(得分:2)
在bash中,如果使用单引号'
,则不会获得变量替换。
您应该将file_to_del='$1$2'
更改为file_to_del="$1$2"
。
答案 1 :(得分:2)
根据Alberto的建议,您需要使用"
。您还必须删除文件夹路径前的空格。
所以试试这个:
#!/bin/sh
folder=/apps/applications/jboss-as/servers/domain/log/
logfile=temp.log
delFile(){
echo "you will delete $1$2"
file_to_del="$1$2"
rm -rf "$file_to_del"
}
delFile "$folder" "$logfile"