来源:在shell脚本中找不到?

时间:2015-09-21 02:32:37

标签: bash shell virtualenv

我想在shell脚本中激活虚拟环境,所以我写了一个简单的脚本如下:

#!/bin/bash

source ~/env/lib/bin/activate
#nohup python mock_run.py
#echo $! > save_pid.txt

我用sh start.sh启动脚本,但是我收到了如下错误:

start.sh: 3: start.sh: source: not found

我运行source ~/env/lib/bin/activate没问题,为什么不能在shell脚本中运行?

1 个答案:

答案 0 :(得分:6)

请注意shebang行:

conVec[index][0]
使用

调用脚本时,

无效

#!/bin/bash

仅当你直接调用脚本时,shebang才有效,就像二进制文件一样。

您需要:

sh script.sh

使 shebang 行正常工作,或使用bash明确调用它:

chmod +x script.sh
./script.sh