#!/bin/bash filename="/home/yjc/run_result.txt" while read line; do echo "$line" done < $filename text=$(cat /home/yjc/run_result.txt) if [ "$text" == "True" ]; then 10 13 * * * cd /home/yjc;python run_mvn_nose_no_clean.py > log/mvn_nose.log 2>&1 fi ~
时间: 2024-03-27 18:36:33 浏览: 49
这段脚本的作用是读取文件 "/home/yjc/run_result.txt" 的内容,并且如果该文件的内容为 "True",则在每天的 13:10 执行定时任务命令,该命令是在目录 /home/yjc 中执行 python 脚本 run_mvn_nose_no_clean.py,并将输出重定向到 log/mvn_nose.log 日志文件中。
这个脚本中有一点小问题,最后一行的命令应该写入到 crontab 文件中,而不是在脚本中。因此,可以将最后一行改为:
```
echo "10 13 * * * cd /home/yjc;python run_mvn_nose_no_clean.py > log/mvn_nose.log 2>&1" | crontab -
```
这将会将定时任务命令添加到当前用户的 crontab 文件中,使其在每天的 13:10 分执行。同时,该命令的输出将重定向到 log/mvn_nose.log 文件中。
相关问题
#!/bin/bash filename="/home/yjc/run_result.txt" while read line; do echo "$line" done < $filename
这是一个简单的 Bash 脚本,它会读取一个名为 "/home/yjc/run_result.txt" 的文件,并将文件中的每一行输出到控制台上。
具体来说,这个脚本会使用一个 while 循环来逐行读取文件,然后将每一行存储在变量 $line 中。接着,脚本会使用 echo 命令将 $line 变量的值输出到控制台上。
最后,这个脚本会通过重定向将文件的内容输入到循环中,从而实现逐行读取文件的功能。
如果你有任何关于这个脚本的问题,请随时问我!
#!/bin/bash filename="/home/yjc/run_result.txt" text=$(cat "$filename") if [ "$text" == "True" ]; then # 执行定时任务的命令 # 清理数据 40 12 * * * cd /home/yjc/qicheoa/; svn up; fi
这段脚本存在问题,最后一行的命令并没有被正确地加入到 crontab 中。
正确的写法应该是将最后一行命令写入到 crontab 中,例如:
```
#!/bin/bash
filename="/home/yjc/run_result.txt"
text=$(cat "$filename")
if [ "$text" == "True" ]; then
# 执行定时任务的命令
# 清理数据
(crontab -l ; echo "40 12 * * * cd /home/yjc/qicheoa/ && svn up") | crontab -
fi
```
这里使用了 `crontab -l` 命令来列出当前用户的 crontab 内容,然后通过 `echo` 命令将新的命令添加到末尾,最后将整个 crontab 文件重新导入到 crontab 中。这样就可以正确地将定时任务命令加入到 crontab 中了。
阅读全文