首先,我是Debian,Python和shell脚本的完整菜鸟,所以请跟我说话,就好像我是一个小孩。
我有一个python脚本我正在运行virtualenv,我想通过shell脚本执行它。以下是我在终端输入的内容:
source .profile
workon cv
cd Desktop/Camera
python main.py
我尝试将其转换为shell脚本,但收到错误 - source: not found
我发现我的问题没有答案,至少在我能理解的任何条件下都没有。任何意见,将不胜感激。此外,在您回答之前,我也不知道为什么我需要执行source .profile
,我只是按照项目的初学者指南进行操作,可在此处找到:https://www.hackster.io/hackerhouse/smart-security-camera-90d7bd
提前致谢,如果这是一个愚蠢的问题,对不起。
答案 0 :(得分:0)
在脚本顶部添加一个hashbang(应该是第一行):
#!/bin/bash
这将确保您在bash中运行shell脚本。拥有一个shell并不意味着它的重击。并非所有shell都具有您正在使用的source
函数(bash具有它)。
有些人更喜欢以下内容:
#!/usr/bin/env bash
因为你是一个初学者"我认为这并不重要。第一个确保它在/ bin中使用bash,第二个是使用PATH变量来查找bash,因此如果他/她想要,脚本的用户可以提供它自己的bash。
答案 1 :(得分:0)
壳牌的最佳做法是像@Veda建议的那样乞讨。
使用像bash shell.sh
这样的bash执行shell脚本,因为链接建议使用相对位置而不是绝对位置