我不是Bash和Python的专家,所以这个问题可能看起来很傻。
我有一个名为learn.py
的Python脚本,当重定向到日志文件时,我注意到标准输出的两种不同行为。
如果我从终端调用它,我可以看到脚本运行时日志文件的大小在增加。
$ ./learn.py > file.log
但是,如果我为同一目的创建一个bash文件:
#!/bin/bash
./learn.py > file.log
脚本启动(我使用pgrep
检查)但它似乎没有运行,因为日志文件保持为空。我错过了什么吗?
答案 0 :(得分:0)
我使用Logging facility for Python解决了问题,插入了
import logging
logging.basicConfig(filename='file.log',level=logging.INFO)
并用
替换print "..."
的每一次出现
logging.info("...")
最终的Bash脚本:
#!/bin/bash
./learn.py
答案 1 :(得分:0)
您可以使用#!/bin/bash
#echo "Type num1, num2 like a integer"
echo "ex01"
read num1
read num2
##check if integer
if ! [ "$num1" -eq "$num1" ] 2> /dev/null
then
echo "Sorry integers only"
fi
if ! [ "$num2" -eq "$num2" ] 2> /dev/null
then
echo "Sorry Integers only"
fi
:
您还可以使用&使其在后台运行
nohup