如何設置我的crontab環境,以便能夠訪問內置的BASH變量,如$ HOME,$ PWD,$ OLDPWD,$ USER,$ PATH, $ PS1等,以便依賴這些變量的腳本可以在crontab環境中運行?這是採購一些我不知道的文件,還是稍微複雜一些?Crontab:訪問BASH內部變量
3
A
回答
2
這些變量總是按預期設置:HOME,PWD,USER。
如果你正在計劃你的腳本是這樣的:
0 0 * * * /path/to/script.sh
和腳本的第一行是#!/bin/bash
然後可能運行時,它會輸出~/.bashrc
但不~/.bash_profile
或~/.profile
。除此之外,你提到的變量應該按預期工作。例如,如果您在腳本中更改目錄,則將更新OLDPWD
和PWD
。我不明白PS1
在腳本中是如何相關的。
在另一方面,如果你crontab
要安排一個命令,你想.bashrc
進行採購,那麼你必須這樣寫:
0 0 * * * . .bashrc; somecmd
# or:
0 0 * * * bash -c somecmd
也請記住,雖然你可以在crontab
中設置變量,它與shell腳本中的變量不同。例如,這些工作:
SHELL = /bin/bash
SHELL=/bin/bash
PATH=~/bin:/usr/bin/:/bin
這在另一方面也不會做你所期望的:
PATH=$HOME/bin:$PATH
如man 5 crontab
解釋,值(=
之後的任何東西)都不會被解析,所以$HOME
這個例子中的$PATH
將從字面上理解。
0
嘗試使用「The EasyCronjobHandler」http://codecanyon.net/item/the-easycronjobhandler/6296537
相關問題
- 1. 局部變量訪問內部類(java)
- 2. BASH變量和awk內部變量
- 3. Laravel:訪問門面內部的變量
- 4. 從內部類訪問變量
- 5. 變量沒有從內部類訪問
- 6. 如何從內部類訪問變量
- 7. 從內部類訪問變量
- 8. 訪問java中內部類的變量
- 9. 訪問本地變量從內部類
- 10. 變量的內部類中訪問
- 11. 無法訪問內部類變量
- 12. 無法訪問內部變量javascript
- 13. 訪問函數內部的JavaScript變量
- 14. 在JavaScript中訪問內部變量
- 15. Java內部類訪問變量在另一個內部類
- 16. PHP - 內部全局變量 - 要在內部函數中訪問
- 17. 訪問局部類變量
- 18. Bash:子進程訪問變量
- 19. 在Pentaho Kettle中訪問bash變量
- 20. 在bash腳本中訪問變量
- 21. 塊內訪問變量
- 22. aws代碼部署無法訪問bash變量
- 23. 如何從R內訪問bash的環境變量在Emacs-ESS
- 24. Java從內部類單例中訪問外部類變量
- 25. 在內部類中訪問外部類變量
- 26. 如何訪問內部類中的外部類變量
- 27. 在回調函數內部訪問函數的局部變量
- 28. PHP從函數內部訪問未知的外部變量
- 29. 訪問d3匿名函數內部的局部變量
- 30. 內部函數無法訪問外部函數變量