Grok 生成(2025年10月23日23:53:07)
🌟 Linux 环境变量(C/C++ ver)
📋 目录
- 查看命令
- 常用变量分类
- [新增] C/C++编译环境变量
- 快速设置技巧
- 一键脚本
1. 查看命令
核心命令(记住2个就够)
# 查看所有环境变量
printenv# 查看单个变量
printenv PATH# 编译专用:查看库路径
echo $LD_LIBRARY_PATH
2. 常用变量分类
2.1 路径相关(最常用)
变量 |
作用 |
示例值 |
场景 |
PATH |
可执行文件搜索路径 |
/usr/bin:/bin |
gcc 找不到 |
HOME |
用户主目录 |
/root |
cd ~ 跳转 |
PWD |
当前目录 |
/etc |
$(pwd) |
2.2 用户身份(调试必备)
变量 |
作用 |
示例值 |
场景 |
USER |
当前用户名 |
root |
脚本判断用户 |
SUDO_USER |
sudo前原用户 |
zxwang |
权限回退 |
2.3 网络代理(开发必备)
变量 |
作用 |
示例值 |
场景 |
HTTP_PROXY |
HTTP代理 |
http://127.0.0.1:7890 |
git clone |
HTTPS_PROXY |
HTTPS代理 |
http://127.0.0.1:7890 |
apt update |
2.5 系统信息(运维必备)
变量 |
作用 |
示例值 |
场景 |
HOSTNAME |
主机名 |
ac |
脚本识别机器 |
SHELL |
当前Shell |
/bin/bash |
Shell判断 |
3. C/C++编译环境变量 【新增重点】
3.1 核心编译变量(必背5个)
变量 |
作用 |
示例值 |
场景 |
LD_LIBRARY_PATH |
运行时库搜索路径 |
/usr/local/lib:/opt/mylib |
./a.out 找不到库 |
LIBRARY_PATH |
编译时静态库路径 |
/usr/local/lib |
gcc -lxxx 找不到 .a |
CPATH |
头文件搜索路径 |
/usr/local/include |
#include <xxx.h> 找不到 |
PKG_CONFIG_PATH |
pkg-config 库路径 |
/usr/local/lib/pkgconfig |
pkg-config --cflags |
CC |
C编译器 |
/usr/bin/gcc |
make CC=clang |
3.2 常用开发工具变量
变量 |
作用 |
示例值 |
场景 |
JAVA_HOME |
Java安装路径 |
/usr/lib/jvm/java-11 |
javac |
PYTHONPATH |
Python模块路径 |
/opt/mylibs |
import xxx |
GOPATH |
Go工作目录 |
/home/user/go |
go build |
CMAKE_PREFIX_PATH |
CMake库路径 |
/usr/local |
cmake .. |
3.3 实战编译流程
# 1. 设置编译环境
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export CPATH=/usr/local/include:$CPATH
export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH# 2. 编译
gcc -o myapp main.c -lssl -lcrypto# 3. 运行(自动找库)
./myapp
4. 快速设置技巧
4.1 临时设置(当前会话)
# 一键编译环境
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export CPATH=/usr/local/include:$CPATH# 代理+编译
HTTP_PROXY=http://127.0.0.1:7890 gcc main.c -o app
4.2 永久设置(开机生效)
# 添加到 ~/.bashrc
cat >> ~/.bashrc << 'EOF'
# C/C++ 编译环境
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export CPATH=/usr/local/include:$CPATH
export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH# 代理
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
EOFsource ~/.bashrc
4.3 常用快捷命令
# 添加库路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/openssl/lib# 完整编译环境一键
export {LD_LIBRARY_PATH,LIBRARY_PATH}=/usr/local/lib:$LD_LIBRARY_PATH
export CPATH=/usr/local/include:$CPATH
5. 一键脚本
5.1 编译环境一键部署
#!/bin/bash
# setup-dev-env.sh
echo "🔧 部署C/C++开发环境"cat >> ~/.bashrc << 'EOF'
# ========== C/C++ 开发环境 ==========
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH
export CPATH=/usr/local/include:$CPATH
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH# ========== 代理 ==========
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890# ========== 提示符美化 ==========
export PS1='\[\e[32m\]\u@\h:\w\$\[\e[m\] '
EOFsource ~/.bashrc
echo "✅ 环境已配置!重启终端生效"
使用: ./setup-dev-env.sh
5.2 编译诊断脚本
#!/bin/bash
# compile-check.sh
echo "🔍 C/C++编译环境诊断"
echo "======================"echo "1. 编译器: $(which gcc || echo '未安装')"
echo "2. 库路径:"
echo " LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
echo " CPATH: $CPATH"
echo "3. 测试编译:"
echo 'int main(){return 0;}' > test.c
if gcc test.c -o test && ./test; thenecho "✅ 编译环境正常"
elseecho "❌ 编译环境有问题"
fi
rm -f test.c test
使用: ./compile-check.sh
5.3 代理+编译一键开关
#!/bin/bash
# proxy-compile.sh
if [ -z "$HTTP_PROXY" ]; thenexport HTTP_PROXY=http://127.0.0.1:7890export HTTPS_PROXY=http://127.0.0.1:7890echo "✅ 代理已开启"
elseunset HTTP_PROXY HTTPS_PROXYecho "✅ 代理已关闭"
fi# 显示当前编译路径
echo "当前库路径: $LD_LIBRARY_PATH"
📝 超实用速查表
# ========== 查看 ==========
printenv LD_LIBRARY_PATH
printenv PATH# ========== 编译环境一键 ==========
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export CPATH=/usr/local/include:$CPATH# ========== 代理 ==========
export HTTP_PROXY=http://127.0.0.1:7890# ========== 永久保存 ==========
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc# ========== 测试 ==========
gcc main.c -o app && ./app
🎯 3分钟上手流程
- 运行诊断:
./compile-check.sh
- 一键部署:
./setup-dev-env.sh
- 测试编译:
gcc hello.c -o hello && ./hello
- 永久生效:重启终端
🚀 常见问题解决
❌ ./app: error while loading shared libraries: libxxx.so
✅ export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH❌ gcc: xxx.h: No such file
✅ export CPATH=/path/to/include:$CPATH❌ git clone 失败
✅ export HTTP_PROXY=http://127.0.0.1:7890
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/944775.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!