第一次在这里问一个问题。 编程的新手,如果我的术语有点偏离,请不要好。
我在OSX工作
我有一个bash脚本,其中有一个名为pythonb的函数,用于执行python文件。
我试图让它变得可移植,但除非我在函数调用中放入python脚本的完整路径,否则我无法使用它。
我认为既然主bash.sh与python文件位于同一目录中,我就不需要说明python脚本的目录了。 我已经尝试在函数中使用python ./foo.py和python foo.py但我仍然得到一个python:无法打开文件'foo.py':[Errno 2]没有这样的文件或目录。我怎么做这个便携式?提前谢谢大家。
#!/bin/bash
function dothis {
filename=$(date +"%m-%d-%y|||%H%M%S")
dothis -x $filename.png
curl -T $filename.png -u beast:password ftp
}
function sayit {
say " I wish I knew more about all this"
}
function pythonb {
python /volumes/FUN/sexy/morefun/foo.py
}
dothis
sayit
pythonb
exit
答案 0 :(得分:0)
不是硬编码完整路径,而是从$ 0学习它 - 这是当前脚本的名称:
python "$(dirname "$0")/foo.py"
是的,你应该使用所有这些引用