Unix Shell 追加到删除文件的字符串

Unix Shell String appending to delete file

我正在编写脚本以从特定位置删除日志文件。我会将目录和文件名作为参数传递给函数。此函数将删除此文件。

代码在下方

#!/bin/sh
folder= '/apps/applications/jboss-as/servers/domain/log/'
logfile=temp.log

delFile(){
echo 'you will delete  '
file_to_del=''
rm -rf $file_to_del
}

delFile $folder $logfile

输出如下。

您将删除 $1 $2

你能告诉我应该如何更新此代码以满足我的要求吗?

在 bash 中,如果使用单引号 ',则不会进行变量替换。

您应该将 file_to_del='' 更改为 file_to_del=""

关于主题:http://tldp.org/LDP/abs/html/varsubn.html

根据 Alberto 的建议,您需要使用 "。您还必须删除文件夹路径前的 space。

所以试试这个:

#!/bin/sh
folder=/apps/applications/jboss-as/servers/domain/log/
logfile=temp.log

delFile(){
echo "you will delete "
file_to_del=""
rm -rf "$file_to_del"
}

delFile "$folder" "$logfile"