今天用set设置PATH变量(加一个路径),发现虽然echo的时候显示修改成功了,实际执行命令的时候确没有去那个路径查找;当前shell是c shell(csh).
在网上找了一些材料,总结如下:
1.说明
使用set和setenv命令可以设置shell选项或者列出shell变量,其中setenv 是csh的命令,在bash中用export命令,alias作用相当windows下的快捷方式。
2.语法格式
set 变量名 = 内容
set 变量名 =(内容1 内容2 )
set 变量名 ="内容1 内容2"
setenv 变量名 内容
setenv 变量名 "内容1 内容2"
setenv 变量名 '内容1 内容2'
alias 简化名称 原文件名
alias 简化名称 "原文件名 参数"
使用set和setenv命令可以设置shell选项或者列出shell变量,其中setenv 是csh的命令,在bash中用export命令,alias作用相当windows下的快捷方式。
2.语法格式
set 变量名 = 内容
set 变量名 =(内容1 内容2 )
set 变量名 ="内容1 内容2"
setenv 变量名 内容
setenv 变量名 "内容1 内容2"
setenv 变量名 '内容1 内容2'
alias 简化名称 原文件名
alias 简化名称 "原文件名 参数"
3。set主要是用来设置变量,这里的变量是普通变量,就像C语言里一样,使用一个变量以前要申明一下。
setenv中的env就是环境environment的简写,这个命令是用来设置环境变量的,譬如说设置文件路径、本地显示啊什么的,举个例,如果想调用服务器的软件在本地显示,用这个命令:setenv
4。环境变量和内部变量:后者不能被子进程继承(如同C里的局部变量)--改环境变量就会自动改内部变量,反之不然。“set”可给出内部变量列表,“env”可给出环境变量列表。继承只对环境变量有效
sh: PATH=/usr/bin:$PATH ; export PATH--注意:在export前为内部变量,之后为环境变量。
Csh: