【发布时间】:2021-04-21 14:11:21
【问题描述】:
我是 shell 脚本的新手。我在 mac 上编写了基本的 simple.sh 文件。我将我的 .sh 文件放到 /usr/local/bin 目录中,并将 sh 文件添加到 chrometab 以便每分钟运行一次。我的 sh 文件在独立终端屏幕上运行良好,但我无法在 crometab 上删除我想要的文件夹。请你帮助我好吗?我的问题是什么?我尝试 crontab -e, sudo crontab -e 但我无法删除我想要的文件夹。
操作系统:macOS Catalina 10.15.7
#! /bin/bash
downloadsDirectoryPath="/Users/Odin/Downloads/"
sampleFolderPath=$downloadsDirectoryPath"sampleFolder"
logFilePath=$downloadsDirectoryPath"log.txt"
sudo rm -rf $sampleFolderPath # this row not works, why???
echo "this row absolutely works" >> $logFilePath
【问题讨论】:
-
在您的问题中添加确切的错误消息(无评论)。
-
@Chakra 无需进行这些更改。变量设置的内容很清楚。
-
如果你先
ls -l /Users/zed/Downloads/sampleFolder然后rm -fr /Users/zed/Downloads/sampleFolder会发生什么? (从命令行!) -
您可能遇到了 TCC(透明同意和控制)限制,需要授予
cron的完整磁盘访问权限(请参阅 this Ask Different Q&A)。 -
@zkoza 我在终端屏幕上写了这个命令
ls -l /Users/zed/Downloads/sampleFolder结果是 ' 总计 197728 -rw-r--r--@ 1 zed 员工 95277923 Jan 14 22:47 VSCode-darwin。拉链'
标签: bash shell macos-catalina rm