环境变量

[100]shell中exec解析

我是研究僧i 提交于 2020-03-15 08:17:12
参考:《linux命令、编辑器与shell编程》 《unix环境高级编程》 本地变量可以理解为 局部变量 , 参考:shell基础 参考 bash shell的命令分为两类:外部命令和内部命令。 内部命令是由特殊的文件格式(.def)所实现,如cd、history、exec,source等等。 外部命令是通过系统调用或独立的程序实现的,如sed、awk等。 set: 命令作用主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值。 env: 环境变量 fork: 完成linux系统调用 fork是linux的系统调用,用来创建子进程(child process)。 子进程是父进程(parent process)的一个副本,从父进程那里获得一定的资源分配以及继承父进程的环境。 子进程与父进程唯一不同的地方在于pid(process id)。 本地变量和环境变量的本质区别 环境变量(传给子进程的变量,遗传性是本地变量和环境变量的根本区别)只能单向从父进程传给子进程。不管子进程的环境变量如何变化,都不会影响父进程的环境变量。 执行shell的2种方法 shell script: 有两种方法执行shell scripts, 一种是新产生一个shell,然后执行相应的shell scripts;执行脚本. 一种是在当前shell下执行,不再启用其他shell。

CentOS中环境变量和配置文件

假装没事ソ 提交于 2020-03-15 02:57:31
什么是环境变量 bash shell用一个叫做 环境变量(environment variable) 的特性来存储有关shell会话和工作环境的信息。即允许在内存中存储数据,使得在程序或shell中运行的脚本能够访问它们。 在bash shell中,环境变量分为两类: 全局变量 局部变量 全局环境变量 全局环境变量对于shell会话和所有生成的子shell都是可见的。局部变量则只对创建它们的shell可见。 查看全局变量,可以使用 env 或 printenv 命令。 [root@dev ~]# env HOSTNAME=localhost TERM=linux SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=10.0.100.17 56344 22 SSH_TTY=/dev/pts/0 USER=root [root@dev ~]# [root@dev ~]# printenv HOSTNAME=localhost TERM=linux SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=10.0.100.17 56344 22 SSH_TTY=/dev/pts/0 USER=root [root@dev ~]# printenv TERM linux 使用环境变量,通过 $ +变量名。 [root@dev ~]#

python多版本切换

荒凉一梦 提交于 2020-03-14 15:44:47
环境:Macbook MacOS自带的python2.7,在命令行中输入python后会显示2.7版本 如何切换成新版本? 一、修改用户配置环境变量~/.bash_profile 确定新版本的安装位置,brew info python,/usr/local/Cellar/python/3.6.4_4 打开配置文件sudo vi ~/.bash_profile 写入 export PATH="/usr/local/anaconda3/bin:$PATH" export PATH="/usr/local/Cellar/python/3.6.4_4/bin:$PATH" alias python="/usr/local/Cellar/python/3.6.4_4/bin/python3.6" #创建快捷方式,重命名 使修改后的文件立即生效 source ~/.bash_profile 当shell类型为zshell时需要修改vi ~/.zshrc,不然重新开启命令终端时会无效 在最后写入 source ~/.bash_profile 二、修改系统环境变量/etc/paths 配置:打开sudo vi /etc/paths,写入/usr/local/Cellar/python/3.6.4_4/bin即可,保存并退出:wq! 重启:source /etc/paths,或是重启命令终端 三、

Appium+Robotframework环境部署

谁说胖子不能爱 提交于 2020-03-14 04:41:29
appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机;ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一、RF环境搭建 robotframework的搭建,参考微信公众号:RobotFramework 顺序 安装包名 安装方法 下载地址 备注 1 python 1.exe文件,直接双击默认安装 2.安装完设置Python环境变量:将“D:\Python27”和“D:\Python27\Scripts”添加到环境变量“PATH”项中(注意环境变量之间用“;”隔开) https://www.python.org/downloads/release/python-2713/ 根据电脑位数下载,我下载64位的python2.7.13.msi文件(目前最新版本);该版本python已自带pip 2 wxPython exe文件,下载后默认安装 https://sourceforge.net/projects/wxpython/files/wxPython/3.0.2.0/ 要下载与电脑位数、python版本号一致的wxPython;如,我需要下载的是 wxPython3.0-win64-3.0.2.0-py27.exe 3 robotframework 命令行安装: pip install

笨方法学python准备工作

北城以北 提交于 2020-03-14 01:43:55
安装python3(注意代码规范,不建议用来学习本书,代码有点差异,报错)或python2 注:安装哪一个都可以,但注意安装完一定要自己去手动添加环境变量,如果安装二个不同版本环境变量在靠上面的优先被识别,你可以尝试更换一下顺序,用powershell检测一下,指令: python 如果没有识别最可能环境变量没加 安装gedit(文本编辑器,感觉还没notepad++好用),有汉化版,可以不用,里面有很多插件,感觉都挺鸡肋的 接下来运行你第一个程序“hello world” 1 print"hello world" 用powershell运行 如何运行呢? 输入指令: python ex1.py 结果可以预想 如果要让程序正常运行必须先进入程序所在的文件夹 学习二个power shell指令,就可以解决基本问题 指令: d: 转移到d盘目录 cd ceshi 打开文件夹ceshi python3.7出问题了? 我看看啊!!!! 我明白了 python2中代码 print"hello world" python3中代码应该规范为 print("hello world") 开始学习print函数吧! 2020-03-13 22:18:04 来源: https://www.cnblogs.com/superhcc/p/12489502.html

Jenkins安装

喜你入骨 提交于 2020-03-13 10:06:17
打算写个jenkins+ant+jmeter接口的全篇,发现已经有很多优秀的博客写了,我只是做补充,在我使用时遇到的一些问题,第一篇,jekins安装 第一种 推荐博主的是:http://www.cnblogs.com/zhuque/archive/2013/01/22/2871184.html,以下是原文 使用tomcat启动 Jenkins的前身是Hudson,是做持续集成必不可少的工具,主要用途:持续、自动的构建项目;构建自动化测试项目;监控定时执行的一些任务。 先说说一下安装: Hudson的war包下载地址:http://mirrors.neusoft.edu.cn/eclipse/hudson/war/ Jenkins的war包下载地址: http://mirrors.jenkins-ci.org/war/ 下载tomcat的地址:http://mirror.bit.edu.cn/apache/tomcat/(Hudson、Jenkins需要web容器支持,不需要数据库,直接访问) 首先安装JDK,我的JDK版本是1.6.0。 解压下载的Tomcat压缩包,设置环境变量(path:E:\apache-tomcat-6.0.36\bin),运行bin下的startup.bat启动tomcat;如果启动失败,则要查看8080端口是否被占用,cmd中通过netstat

linux执行脚本

守給你的承諾、 提交于 2020-03-13 09:19:20
linux 下开机以某一个用户执行 脚本 1 . 编辑: /etc/rc.local 添加想要被执行的 命令 即可(默认是以root用户执行)。 注: 有些很特殊的情况 /etc/rc.local 不会被执行,可以 编辑 /etc/init.d/rc.local 2 . 以期望的用户执行 命令 : su -c 'ls -l "myfile.txt"' guowei & 解释: 其中需要被执行的命令是 ls -l "myfile.txt" , 期望的用户的 guowei, & 表示在后台运行。 3 . 开机以 screen 运行程序 脚本 ,并添加环境变量 (no-login) : #!/bin/bash # 环境变量要在 su 之前设置好,然后 sudo -E 保持环境变量 # 如果直接是root用户执行该脚本,则只需要 su -p 或者 su -m 保持环境变量即可 export GUOWEI_DIR=/home/guowei export PATH=/opt/bin:$PATH source /home/guowei/.bashrc if [ -e /opt/my_app ]; then # sudo -E su -p -l guowei << BASH # 如果要以 guowei 用户执行那些程序的话,去掉注释即可。 su - 表示切换的环境变量,sudo 需要添加 -E

【Go命令教程】3. go install

▼魔方 西西 提交于 2020-03-13 05:37:32
命令 go install 用于编译并安装指定的代码包及它们的依赖包。当指定的代码包的依赖包还没有被编译和安装时,该命令会先去处理依赖包。与 go build 命令一样,传给 go install 命令的代码包参数应该以导入路径的形式提供。并且,go build 命令的绝大多数标记也都可以用于 go install 命令。实际上,go install 命令只比 go build 命令多做了一件事,即:安装编译后的结果文件到指定目录。 在对 go install 命令进行详细说明之前,让我们先回顾一下 goc2p 的目录结构。为了节省篇幅,我在这里隐藏了代码包中的源码文件。如下: $HOME/golang/goc2p: bin/ pkg/ src/ cnet/ logging/ helper/ ds/ pkgtool/ 我们看到,goc2p 项目中有三个子目录,分别是 bin 目录、pkg 目录和 src 目录。现在只有 src 目录中包含了一些目录,而其他两个目录都是空的。 现在,我们来看看安装代码包的规则。 安装 代码包 如果 go install 命令后跟的代码包中仅包含库源码文件,那么 go install 命令会把编译后的结果文件保存在源码文件所在工作区的 pkg 目录下。对于仅包含库源码文件的代码包来说,这个结果文件就是对应的代码包归档文件(也叫静态链接库文件,名称以

Ubuntu 和 Raspbian 如何设置 Java Home

早过忘川 提交于 2020-03-12 21:43:47
如何在 Ubuntu 和 Raspbian 中设置 JAVA_HOME 环境变量。 因为 Raspbian 的配置和 Ubuntu 差不多,如何进行配置。 首先你可以尝试 echo $JAVA_HOME 查看系统中的环境变量有没有配置。 如果没有输出则说明没有配置。 使用下面的命令对环境变量进行编辑。 sudo nano /etc/environment 在配置文件的最后输入下面的内容: JAVA_HOME="/usr/lib/jvm/default-java/" 如果 你不知道你安装的 JDK 版本是什么,路径是什么的话,请参考下面的文章: Ubuntu 如何查看安装的 JDK 。 保存退出后,运行命令: source /etc/environment 这个命令的目的是将修改的配置应用到当前的用户中。 然后再运行 echo $JAVA_HOME 命令,你就可以看到当前的 JAVA_HOME 环境变量已经配置成功了。 https://www.cwiki.us/questions/57938481 来源: oschina 链接: https://my.oschina.net/honeymoose/blog/3192881

[C] linux静态链接库与动态链接库详解

寵の児 提交于 2020-03-12 20:44:48
http://blog.chinaunix.net/u2/76292/showart.php?id=1274181 一顺便说说了哦 通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file).程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下。所以这些函数库被成为静态库(static libaray),通常文件名为"libxxx.a"的形式. 其实,我们也可以把对一些库函数的链接载入推迟到程序运行的时期(runtime).这就是如雷贯耳的动态链接库(dynamic link library)技术. 二动态链接库的特点与优势 首先让我们来看一下,把库函数推迟到程序运行时期载入的好处: 1.可以实现进程之间的资源共享。 什么概念呢?就是说,某个程序的在运行中要调用某个动态链接库函数的时候,操作系统首先会查看所有正在运行的程序,看在内存里是否已有此库函数的拷贝 了。如果有,则让其共享那一个拷贝;只有没有才链接载入。这样的模式虽然会带来一些“动态链接”额外的开销,却大大的节省了系统的内存资源。C的标准库就 是动态链接库,也就是说系统中所有运行的程序共享着同一个C标准库的代码段. 2.将一些程序升级变得简单