linux配置csh设置环境变量

linux下csh设置环境变量有两种方式set 和 setenv

一、区别
(1)setenv是csh的命令; 在bash中是没有setenv的
(2)csh/tcsh有两种类型的变量:局部变量和环境变量.
局域变量是在shell内部声明的;环境变量是全局域的变量.
使用set来定义局部变量, 使用setenv可以定义环境变量;
局部变量只对本shell有效, 不能传递给子shell;
但环境变量可传递给子shell. setenv有点类似于bash中export一个变量.
(3)当然, set 和setenv的语法不一样

# set varname = value; 
# setenv varname2 valu2;

二、配置环境变量
bash的shell默认用户下面的配置文件是:.bashrc。用户登陆之后,默认执行该配置文件内容,让环境变量生效

csh的shell默认用户下面的配置文件是:.cshrc。 用户登陆之后,默认执行该配置文件内容,让环境变量生效(如果把用户的shell从bash改成csh之后,目录下的配置文件还是.bashrc,用户可以自己新建一个.cshrc来配合csh的使用。配置文件弄完后,可以执行source .cshrc生效)

三、set 和 setenv区别示例

[root@ctm9018 ~]# useradd test1 -s /bin/csh   #新建用户test1,shell为csh
[root@ctm9018 ~]# useradd test2 -s /bin/csh   #新建用户test2,shell为csh 
[root@ctm9018 ~]# su - test1   #切换到用户test1
[test1@ctm9018 ~]$ set var1=123   #使用set给var1设置变量
[test1@ctm9018 ~]$ setenv var2 456   #使用setenv给var2设置变量
[test1@ctm9018 ~]$ su test2   #从test1用户切换到test2用户,注意切换的时候使用su,不要使用su -,如果使用su - 就不是上一个shell的子shell了
[test2@ctm9018 test1]$ echo $var1   #set设置的var1为局部变量,所以在子shell里边显示没有定义
var1: Undefined variable.
[test2@ctm9018 test1]$ echo $var2 #setenv设置的var2为全局变量,所以在子shell里边可以看到var2的值
456
  • 5
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux系统中,要设置全局环境变量,需要按照以下步骤操作: 1. 打开终端,进入当前用户的家目录(可以通过输入cd ~ 命令实现)。 2. 打开.bashrc文件(如果不存在该文件,则新建一个),输入需要设置环境变量,例如:export PATH=$PATH:/usr/local/bin。 3. 保存并关闭.bashrc文件。 4. 输入source ~/.bashrc 命令,使设置环境变量生效。 5. 验证环境变量是否已经生效,可以通过输入echo $PATH 命令查看环境变量的值。 注意,以上操作设置的是当前用户的全局环境变量,如果需要设置系统级别的全局环境变量,需要编辑/etc/profile文件,并执行source /etc/profile 命令使其生效。 ### 回答2: 在Linux系统中,可以通过以下步骤来设置全局环境变量: 1. 打开终端,使用root权限登录系统。 2. 打开 `/etc/environment` 文件,可以使用任何编辑器打开该文件,比如使用vi编辑器命令 `vi /etc/environment`。 3. 在文件内部,添加变量的行,每行按照 “变量名=值”的格式编写,例如 `JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64`。 4. 保存文件并退出编辑器。 5. 执行以下命令使更改立即生效:`source /etc/environment`。 6. 确认是否设置成功,可以使用命令 `printenv 变量名` 来显示环境变量的值,例如 `printenv JAVA_HOME`。 7. 如果需要删除变量,只需要编辑 `/etc/environment` 文件,将相应的行删除,并执行 `source /etc/environment` 命令使更改生效。 请注意,这些设置将应用于所有用户和所有会话,所以请小心设置全局环境变量,以免影响系统运行稳定性。 ### 回答3: 在Linux系统中设置全局环境变量可以通过修改系统的配置文件来实现。下面是设置全局环境变量的步骤: 1. 打开终端,并以超级用户身份登录(使用sudo命令)。 2. 确认系统使用的shell类型,可以使用以下命令来查看: ``` echo $SHELL ``` 输出结果通常是/bin/bash或/bin/sh,根据实际结果进行下一步操作。 3. 打开/etc/profile文件,这是一个系统级别的profile文件,该文件中的环境变量对所有用户都起作用。使用任意文本编辑器打开该文件: ``` sudo vi /etc/profile ``` 4. 在文件末尾添加要设置环境变量,例如: ``` export MY_VARIABLE=/path/to/my/directory ``` 5. 保存并退出编辑器。 6. 重新加载配置文件,以使修改后的环境变量生效: ``` source /etc/profile ``` 7. 检查环境变量是否已成功设置: ``` echo $MY_VARIABLE ``` 如果输出等于/path/to/my/directory,则说明环境变量设置成功。 注意:以上步骤修改的是系统级别的环境变量,在用户登录后启动的所有终端中都生效,但不会立即生效。如果只想让特定用户生效,可以修改该用户的.profile文件。 如果是其他shell类型,如csh或ksh,需要修改对应的配置文件,如/etc/csh.login或/etc/profile.d/目录中的脚本文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值