我注意到一些 python 脚本以
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
代替
#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)
python 脚本是唯一使用的脚本#!/usr/bin/env吗?是否有任何以例如#!/usr/bin/env bash或开头的脚本#!/usr/bin/env perl?如果不是,那么为什么 python 脚本不同?
#!/usr/bin/env <sh|bash|python>与#!/bin/bash,#!/bin/sh或相比,使用shebang的目的是什么#!/usr/bin/python?
据我了解 bash 是 Ubuntu 中的默认 shell,那么为什么/bin/sh指向/bin/dash?
我想制作制作 virtualenv 的 shell 脚本,激活它,安装一些库并用它运行 python 脚本。
但是我有一个问题,除非我执行“source script.sh”,否则我无法在 shell 脚本中激活 virtualenv,但是 python3 不起作用。我怎么能做这样的事情?
#!/bin/bash
python3 -m pip install virtualenv
python3 -m virtualenv virtual
source virtual/bin/activate
pip install <some libraries>
python <filename.py>
Run Code Online (Sandbox Code Playgroud)
我想在没有任何全局路径的情况下执行此操作。我希望它在本地工作。
我已经看到许多文件将这一行作为其中的第一行。这究竟是什么?
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
这是什么意思?为什么有必要?
bash ×3
command-line ×3
python ×3
scripts ×3
default ×1
environment ×1
shebang ×1
unity-dash ×1
virtualenv ×1