[英]Subshells in Bash, using crontab
我目前正在從事一些我們應該處理 cron 作業的學校項目,基本上,我們正在構建一個簡單的 CLI 來使用 Bash 進行 CRUD 操作。
我發現這段代碼將新作業插入到我的 crontab 中,但我不知道它是如何工作的......我知道它使用子外殼和管道,但我只是不知道為什么我必須這樣做
read job
{ crontab -l; echo "$job"; } | crontab -
crontab
是一個包含cron
守護進程(Unix 操作系統的基於時間的作業調度程序)的作業(指令)的文件。
如果你把你的 bash 行放到一個腳本中,讓我們說cron_test.sh
#!/usr/bin/sh
read job
{ crontab -l; echo "$job"; } | crontab -
之后,如果您執行腳本./cron_test.sh
,您將看到腳本等待來自 stdin 您的輸入(將其存儲到名為 job 的變量中),以便為您的用戶創建一個新作業。
請小心,因為您必須遵守作業語法:
1 2 3 4 5 /path/to/command arg1 arg2
在哪里:
1: Minute (0-59)
2: Hours (0-23)
3: Day (0-31)
4: Month (0-12 [12 == December])
5: Day of the week(0-7 [7 or 0 == sunday])
/path/to/command – Script or command name to schedule
一些命令:
crontab -l
- 列出當前的 crontab(針對您正在使用的用戶)
crontab -e
- 編輯 crontab 文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.