gpt4 book ai didi

bash - 不能 rm -rf 使用变量

转载 作者:行者123 更新时间:2023-11-29 09:49:48 24 4
gpt4 key购买 nike

我正在尝试编写一个 BASH 脚本,它将递归删除目录中的所有文件。

当我在控制台 rm -rf/home/dir/dir/* 中写入时,效果很好,但我不能使用变量来完成。

VAR="/home/dir/dir"
rm -rf "$VAR"/*

这段代码对我不起作用。

更新。
这真的很奇怪。我试过删除引号,但没用。

这是我的整个文件:

#### VARIABLES

LOGS_PATH="~/Документы/tellbot_work/tellbot-autotest/mega-test/Reports/Mega\ test"

#### End of variables


#### FUNCTIONS

delete_logs()
{
rm -rf $LOGS_PATH/*
echo "Logs from $LOGS_PATH were deleted"

}

#### End of functions

#### MAIN

delete_logs

#### End of main

在输出中它显示了文件的正确路径...

最佳答案

您可以通过使用变量 home 来避免波浪号问题。所以就这样写

LOGS_PATH="${HOME}/Документы/tellbot_work/tellbot-autotest/mega-test/Reports/Mega test" 

代替

LOGS_PATH="~/Документы/tellbot_work/tellbot-autotest/mega-test/Reports/Mega test" 

和命令

rm -rf "$LOGS_PATH"/*

应该可以再次使用。

关于bash - 不能 rm -rf 使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57007515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com