这里讨论的是tcsh中变量及环境变量时set和setenv命令的区别
set语法set name=value
setenv语法setenv name value
最大的区别是,set变量只对当前进程有效,不会传递给子进程
setenv变量不仅对当前进程有效,而且会传递给子进程
而当同时使用set和setenv设置一个变量时,当前进程中,会优先使用set设置的值
如下面代码所示

tcsh code : set && setenv
1
2
3
4
 5
6
7
8
9
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,是不能被子进程使用的。

转自: http://hi.baidu.com/yingnet/blog/item/78786e31c618f912eac4af71.html

set和setenv的区别相关推荐

  1. 配置环境变量的方法:putenv和setenv函数区别

    ​日常中我们经常会在linux环境上配置环境变量,那么linux上配置环境变量的方法有哪些呢? 1.直接用export命令: eg:​ export PATH=$PATH:/opt/build_too ...

  2. setenv与putenv的区别

    putenv与setenv的区别: putenv可以使用程序中已定义,且值形如"name=value"的字符串变量作为函数的实参.此时,系统将不再为该环境变量分配内存,使用的是程序 ...

  3. setenv 和 set

    setenv 和 set 是在csh系列的命令,当然bash中也有set,还是有出入的. set 是对当前进程有效,不会传递给子进程 setenv 不仅对当前进程有效,也会传递给子进程. 语法 set ...

  4. set, setenv, export的区别

    set, setenv, export的区别 写在前头,首先要认识何为环境变量 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文 ...

  5. 多线程中使用mktime和setenv函数

    在编写ATS插件的过程中,发现使用mktime会偶尔出现段错误, 经过网上调研,发现mktime等函数不是线程安全的, 于是编写下面的代码进行测试. 注意加锁和不加锁区别很大, 在mktime中使用多 ...

  6. 进程环境详解(四)---getenv、putenv和setenv函数详解

    在Linux中的c程序的典型内存分布中,之前提到的有 text段.data段.bss段.堆和栈这几部分,在笔记"麦子学院c语言->典型c语言程序的c内存分布"中介绍了.但是其 ...

  7. 韦东山和正点原子IMX6ULL开发版的区别

    网卡驱动复位引脚硬件区别 网卡 复位脚 厂家 io 网卡0 SNVS_TAMPER9 100ask gpio5.IO9 网卡1 SNVS_TAMPER6 100ask gpio5.IO6 网卡0 SN ...

  8. ubutntu 使用tftp_TI 816X开发板直接从SD卡读取内核到内存中和通过TFTP下载到内存中区别...

    用的是TI的 816X开发板,现在碰到一个问题,想不明白,请教各位. 我的开发环境是在vmware下安装的ubuntu10.04,通过网线连接到开发板的网口(J10),主机IP为192.168.0.1 ...

  9. linux getenv函数 get,linux之getenv putenv setenv和unsetenv详解

    1.getenv函数 头文件:#include 函数原型: char * getenv(const char* name); 函数说明:getenv()用来取得参数name环境变量的内容. 函数参数: ...

最新文章

  1. RabbitMQ超详细安装教程(Linux)
  2. vs2010启动调试、停止调试非常慢
  3. CloudFoundry和BOSH的关系
  4. Web Storage中的sessionStorage和localStorage
  5. vm安装net失败_使用minikube安装kubernetes和dashboard
  6. 【loj2585】【APIO2018】新家
  7. 彭国伦Fortran95学习笔记(一)第八章至第十六章
  8. 汪文君 java_汪文君JAVA多线程编程实战 视频教程 下载
  9. C汇编语言是符号化的机器语言,汇编语言
  10. 对象存储BOS服务介绍
  11. 大数据开发工程师招聘要求高吗?
  12. python编程自然数表达式_结对编程-python实现
  13. 通达信破底翻形态选股公式,选出破底之后再翻回的标的
  14. 遭遇win10激活问题
  15. Python OpenCV 裁剪身份证正反面
  16. 从技术 Leader 的招聘需求看,如何转岗为当前紧缺的大数据相关人才?
  17. 拼图游戏 玩法介绍及其代码实现(有意思的JS 一)
  18. 《2022微隔离技术与安全用例研究报告》发布
  19. Typora结束无序列表
  20. 容联云AI问鼎“千言数据集—实体链指评测“,持续打造知识语义计算能力

热门文章

  1. Qt学习经验之quit()、exit()、close()
  2. python输入多个整数 输入quit表示结束_Python Selenium 之关闭窗口close与quit的方法
  3. 嵌入式linux-dropbear连接时重复输入密码
  4. MUR160RLG说明
  5. 【云原生 | Kubernetes 系列】--Ceph认证和RBD
  6. MBA-day12数学-植树问题
  7. 学习Web前端开发前景怎么样?
  8. 学生学籍管理系统包括成绩c语言,学籍管理系统设计C语言代码
  9. 用计算机发传真,怎么使用win7电脑发传真|使用win7电脑发传真的详细步骤
  10. 百分比,千分比,万分比,百分比或百分吕,千分率等