Unix Shell String附加删除文件

时间:2015-11-30 11:00:29

标签: bash shell unix sh

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

代码低于

#!/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

您能告诉我应该如何根据我的要求更新此代码吗?

2 个答案:

答案 0 :(得分:2)

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

您应该将file_to_del='$1$2'更改为file_to_del="$1$2"

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

答案 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"