set,setenv和export
setenv是csh的命令; 在bash中是没有setenv的
csh/tcsh有两种类型的变量:局部变量和环境变量.局域变量是在shell内部声明的;环境变量是全局域的变量.
使用set来定义局部变量, 使用setenv可以定义环境变量; 局部变量只对本shell有效, 不能传递给子shell; 但环境变量可传递给子shell. setenv有点类似于bash中export一个变量.
当然, set 和setenv的语法不一样
# set varname = value;
# setenv varname2 valu2;
这里讨论的是tcsh中变量及环境变量时set和setenv命令的区别
set语法set name=value
setenv语法setenv name value
最大的区别是,set变量只对当前进程有效,不会传递给子进程
setenv变量不仅对当前进程有效,而且会传递给子进程
而当同时使用set和setenv设置一个变量时,当前进程中,会优先使用set设置的值
如下面代码所示tcsh code : set && setenv
1234 56789 10 11 12 13 14 15 linux-r9f7 /home/myname> set VARY="set use set" linux-r9f7 /home/myname> setenv VARY "set use setenv" linux-r9f7 /home/myname> echo $VARY set use set linux-r9f7 /home/myname> echovary set use setenv linux-r9f7 /home/myname> source ~/bin/echovary set use set linux-r9f7 /home/myname> cat ~/bin/echovary #!/bin/tcsh echo $VARY linux-r9f7 /home/myname> setenv ANOTHER "set use setenv" linux-r9f7 /home/myname> echo $ANOTHER set use setenv linux-r9f7 /home/myname>tcsh code : echovary source
1 2 3 linux-r9f7 /home/myname> cat ~/bin/echovary #!/bin/tcsh echo $VARY在Bash中也有类似的区别
BASH不需要显示声明变量使用=号直接能声明并初始化变量,但是如果没有export,是不能被子进程使用的。
set,setenv和export相关推荐
- Linux中的setenv与export
一. setenv 中文名:改变或增加环境变量 英文名:setenv 头文件:#include<stdlib.h> 函数定义:int setenv(const char *name,con ...
- 利用setenv进行tomcat 内存设置
part.1 系统环境及版本 系统环境: centos 7版本: tomcat 7.0.78 part.2 步骤流程 2.1 新建setenv.sh # cd /usr/local/tomcat/bi ...
- DS, DB, WEB模块的安装(环境搭建) 学习日志 2012年7月10日
一.关于统筹模块的安装步骤: 1.将安装包以smsds用户二进制方式上传至"/home/smsds"目录. 2.以smsds用户登录系统. 3.删除"/home/smsd ...
- Shell Basic
bash shell 是大多数 Linux 发行版上的默认 shell.如果不是运行在 bash shell 之下,那么可以考虑用以下方式之一对 bash shell 进行实践. 使用 chsh -s ...
- linux与windows下tomcat的java内存设置
Linux下修改JVM内存大小: 要添加在tomcat 的bin 下catalina.sh文件中,找到cygwin=false,在这一行的前面加入参数,具体如下# vi TOMCAT_HOME/bin ...
- Ansible搭建hadoop3.1.3高可用集群
一.节点信息 内核版本:3.10.0-1062.el7.x86_64 系统版本:Red Hat Enterprise Linux Server release 7.7 (Maipo) 节点 ip 内存 ...
- Android C/C++ 开发
转自:http://www.linuxidc.com/Linux/2010-08/27880.htm 严格意义上来讲,Google Android 平台只支持基于 Android Dalvik VM ...
- linux增量安装tomcat_linux与windows下tomcat的java内存设置
Linux下修改JVM内存大小: 要添加在tomcat 的bin 下catalina.sh文件中,找到cygwin=false,在这一行的前面加入参数,具体如下# vi TOMCAT_HOME/bin ...
- 基于 OE、Yocto、Arago 构建 TI 板卡的定制文件系统
环境搭建 PC 系统 Ubuntu 或 CentOS.推荐 Ubuntu 14.04.16.04. 安装必要工具 HOST# sudo apt-get install git build-essent ...
最新文章
- Loadrunner11点击录制脚本无响应,IE页面弹不出——解决方案汇总
- zzuli-1726:迷宫(语文功底题。。。)
- python之虚拟环境
- .net mysql操作类_ASP.NET数据库操作类实例
- 同一解决方案内的多个项目之间如何引用?
- linux 切换用户身份、su、sudo、/etc/sudoers
- TCP半连接队列(syns queue)和全连接队列(accept queue)
- c#数据库事务锁类型
- 大过年的,程序员在家改bug…
- 【原创】开源Math.NET基础数学类库使用(03)C#解析Matlab的mat格式
- element table多选表格_element-ui 表格打印
- EventBus 加强学习深入了解
- Mysql之insert,update,delete
- 刷题记录 kuangbin带你飞专题九:连通图
- 淘宝商品评论API接口
- 十二月英语——加入了新元素
- matlab 三维图像 叠加,利用 Matlab构建“波的叠加”图样
- 一个博客到底有多重要
- 基于SSH的校园网上订餐系统
- 【计算机网络】PPP协议