- Learning Penetration Testing with Python
- Christopher Duffy
- 306字
- 2021-07-09 21:52:54
Environmental variables and PATH
These variables are important for executing scripts written in Python, not for writing them. If they are not configured, the location of the Python binary has to be referenced by its fully qualified path location. As an example, here is the execution of a Python script without the environmental variable being declared in Windows:
C:\Python27\python wargames_print.py
The following is the equivalent in Linux or Unix if the reference to the proper interpreter is not listed at the top of the script and the file is in your current directory:
/usr/bin/python ./wargames_print.py
In Windows, if the environmental variable is set, you can simply execute the script by typing python
and the script name. In Linux and Unix, we add a line at the top of the script to make it more portable. A benefit to us (penetration testers) is that this makes the script useful on many different types of systems, including Windows. This line is ignored by the Windows operating system natively, as it is treated as a comment. The following referenced line should be included at the top of all Python scripts:
#!/usr/bin/env python
This line lets the operating system determine the correct interpreter to run based on what is set in the PATH
environmental variable. In many script examples on the Internet, you may see a direct reference to an interpreter, such as /usr/bin/python
. This not considered good practice as it makes the code less portable and more prone to errors with potential system changes.
Tip
Setting up and dealing with PATH
and environmental variables will be different for each operating system. Refer to https://docs.python.org/2/using/windows.html#excursus-setting-environment-variables for Windows. For Unix and Linux platforms, the details can be found at https://docs.python.org/2/using/unix.html#python-related-paths-and-files. Additionally, if you need to create specialty environmental variables for a specific tool someday, you can find the details at https://docs.python.org/2/using/cmdline.html.
- Python零基礎快樂學習之旅(K12實戰訓練)
- Mastering C# Concurrency
- MySQL數據庫基礎實例教程(微課版)
- 單片機應用與調試項目教程(C語言版)
- 動手打造深度學習框架
- Exploring SE for Android
- Java高級程序設計
- C# 7.1 and .NET Core 2.0:Modern Cross-Platform Development(Third Edition)
- Monitoring Docker
- Java RESTful Web Service實戰
- 深入大型數據集:并行與分布化Python代碼
- Apache Solr for Indexing Data
- Android開發進階實戰:拓展與提升
- Analytics for the Internet of Things(IoT)
- 程序員的算法趣題2