我正试图运行一个驻留在shell脚本目录中的python脚本,但我无法找到如何在shell脚本中动态更改目录,因此我可以可靠地执行它。
我看到的大多数解决方案都使用bash中可用的功能,但我只能使用shell,因为我使用的是alpine
,不想安装bash。shell脚本是这样的:
export FLASK_APP="./app.py"
export FLASK_RUN_HOST='0.0.0.0'
export FLASK_RUN_PORT=5000
flask run
app.py
在我的脚本的同一目录中。
您似乎正在运行Alpine Linux,默认情况下它使用ash
shell:
注意:默认情况下,Alpine Linux使用灰壳*
所以试试这个,它适用于这个答案中的一行中的ash
:
my_dir="$( cd -- "$(dirname -- "$0")" && pwd )"
echo "I'm running in $my_dir"
它适用于Ubuntu的dash
,它是ash
的衍生物。