sou*_*gro 4 command-line bash source
我想制作一个将运行 2 个命令的文件。
一个将激活一个虚拟环境,然后,第二个命令将运行一个服务器。
我的文件被称为“runserver”,它看起来像这样:
#!/bin/bash
echo "Activating virtual enviroment"
source odoo-venv/bin/activate
echo "Running Odoo server"
./odoo12/odoo-bin --config=/etc/odoo12.conf
Run Code Online (Sandbox Code Playgroud)
当我运行这个文件时
sh runserver
Run Code Online (Sandbox Code Playgroud)
它显示以下错误:
Activating virtual enviroment...
runserver: 3: source: not found
Running Odoo server...
...
Run Code Online (Sandbox Code Playgroud)
我的 bash 文件似乎无法识别源命令,我该如何解决?
cho*_*oba 22
sh不运行您的脚本,bash但dash其中不支持source. 使用.来代替:
. odoo-venv/bin/activate
Run Code Online (Sandbox Code Playgroud)
或使用 bash 运行脚本:
/bin/bash runserver
Run Code Online (Sandbox Code Playgroud)
另请参阅StackOverflow 上的类似问题。