linux PATH环境变量设置与读取
来源:互联网 发布:麦克风扩音软件 编辑:程序博客网 时间:2024/05/17 01:45
在项目开发过程中, 需要根据路径来运行一些脚本或者程序, 开发中不适宜写死为固定的path. 这样移植code或维护都会不太便利, 比较好的做法是配置环境变量并且在code中从环境变量来读取, 这样不同的project还可以配置不同的环境变量但使用同一套code.
以下是一些例子:
1. 在启动启动运行的脚本中设置如下环境变量:
export WIFI_MODULES_PATH=$PWD/modules
export WPA_SUPPLICANT_PATH=$PWD
2. 在*.cmake中将 对应的文件copy到board下面的某路径
INSTALL( FILES ${INSTALL_PATH}/bin/aaaa DESTINATION ${VA_INSTALL_PATH_APPS} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE )
//注意权限的设置, 不然一些执行程序运行不了
3. 如果运行将一些配置文件在系统运行起来后copy到其他路径 可以使用如下脚本:
#copy XXXXX.confif [ -f $XXXXX_PATH/XXXXX.conf ]then if [ -f $XXXXX_CONF_DIR/XXXXX.conf ]then echo "XXXXX-exist"elseecho "XXXXX-do-copy"mkdir -p $XXXXX_CONF_DIRcp $XXXXX_PATH/minidlna.conf $XXXXX_CONF_DIR/XXXXX.conffielseecho "XXXXX-no-exist"fi
此脚本可以在系统启动的脚本中调用或者在main函数中透过system()调用
4. code中如何读取path:
char *path_value = NULL;int const path_length = 60;char str_conf_path[path_length];if ((path_value = getenv("XXXXX_CONF_DIR"))){strncpy(str_conf_path, path_value, path_length);str_conf_path[path_length -1] = '\0';strncat(str_conf_path, "/XXXXX.conf", path_length-strlen(str_conf_path)-1);DPRINTF(E_DEBUG, L_GENERAL, "XXXXX_CONF_DIR: %s.\n", str_conf_path);}else{DPRINTF(E_WARN, L_GENERAL, "XXXXX_CONF_DIR Not set.\n", path_value);strncpy( str_conf_path, XXXXX_CONF_PATH, path_length);}str_conf_path[path_length -1] = '\0';
0 0
- linux PATH环境变量设置与读取
- Linux设置环境变量PATH
- Linux 环境变量PATH设置
- Linux 环境变量PATH设置
- linux 设置环境变量path
- linux PATH环境变量的设置
- Linux Fedora设置PATH环境变量
- Ubuntu Linux 环境变量PATH设置
- Ubuntu Linux 环境变量PATH设置
- Ubuntu Linux 环境变量PATH设置
- Ubuntu Linux 环境变量PATH设置
- Ubuntu Linux 环境变量PATH设置
- Ubuntu Linux 环境变量PATH设置
- Ubuntu Linux 环境变量PATH设置
- Ubuntu Linux 环境变量PATH设置
- Linux Fedora设置PATH环境变量
- Ubuntu Linux 环境变量PATH设置
- Ubuntu Linux 环境变量PATH设置
- SpringMVC整合DWR(Maven项目+jetty插件运行)
- shell 练习
- iOS symbol(s) not found for architecture i386 BUG解决办法
- Android 系统启动流程简介
- linux PATH环境变量设置与读取
- 如何修改Vs2008环境变量windowsSdkDir,对于找不到"windows.h"
- matplotlib核心剖析
- Volley===Volley框架的基本使用方法
- 通过Volley我们能学到什么?(3) — 缓存原理
- leetcode95-Unique Binary Search Trees II(输出所有可能的BST)
- Http Request header/Response header
- Hdu 2602 Bone Collector
- ExpandableListView的使用小技巧