[英]VSCode Python Running ommand Error: /bin/sh: python: command not found
[英]Running python script with a parameter using cronjob gives error: /bin/sh: password: command not found
我將使用cronjob使用參數運行python腳本。 該參數是腳本中需要使用的數據庫密碼。
#!/usr/bin/python
import MySQLdb
import requests
import json
import os
import sys
param=sys.argv
password=param[1]
db = MySQLdb.connect(host="host.com",port=3306,user="user",passwd=password,db="db")
/ etc / crontab:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# * * * * * user-name command to be executed
Crontab -e
*/5 * * * * /home/test/run.py "dbpass'"
哪個python:
/usr/bin/python
/ var / spool / mail中的錯誤
/bin/sh: dbpass': command not found
如果我手動運行腳本,它將運行良好:python run.py“ dbpass'”
任何幫助,將不勝感激。
您發布的字符串包含Unicode字符,其表示為
u'*/5 * * * *\u2002\u2002/home/test/run.py "dbpass\'"'
# or encoded to utf-8:
b'*/5 * * * *\xe2\x80\x82\xe2\x80\x82/home/test/run.py "dbpass\'"'
\
是EN SPACE
因此,第五個參數實際上是*\ \ /home/test/run.py
,似乎cron將*
視為*
,將下一項作為命令。
因此,只需將這些EN SPACE字符替換為普通空格就可以了。
您的crontab條目應具有不帶引號的密碼:
*/5 * * * * /home/test/run.py dbpass
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.