shell脚本之环境变量

环境变量

用户级文件
root家目录下的隐藏root用户文件
[root@des ~]# vim .bash_profile
export a=1
[root@des ~]# exit
[kiosk@foundation1 ~]$ ssh root@172.25.254.101
###系统文件需要重启
[root@des ~]# sh /mnt/test.sh 
1

在这里插入图片描述
在这里插入图片描述

[root@des ~]# su - student
[student@des ~]$ sh /mnt/test.sh 
###无输出

在这里插入图片描述

[student@des ~]$ vim .bash_profile
###无export a=1项

在这里插入图片描述

[student@des ~]$ exit
[root@des ~]# ls -a
[root@des ~]# vim .bash_profile
###有export a=1项
#####

在这里插入图片描述
在这里插入图片描述

针对不同的用户会有不同的用户级文件

还原
在这里插入图片描述

对所有用户生效,系统级变量

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行;并从/etc/profile.d目录的配置文件中搜集shell的设置
/etc/bashrc:对所有用户生效;为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取
[root@des ~]# source /etc/profile
[root@des ~]# sh /mnt/test.sh 
5
###读取变量后,写入文件生效
[root@des ~]# su - student
[student@des ~]$ sh /mnt/test.sh 
5
###切换用户以及环境,仍然可以显示

在这里插入图片描述
在这里插入图片描述

[root@des student]# echo $PATH
###查看shell

[root@des ~]# chmod 777 /mnt/test.sh 
[root@des ~]# /mnt/test.sh 
1
[root@des ~]# test.sh
bash: test.sh: command not found...
[root@des ~]# vim .bash_profile
export PATH=$PATH:/mnt

在这里插入图片描述

[root@des ~]# exit
[kiosk@foundation1 ~]$ ssh root@172.25.254.101
[root@des ~]# test.sh
5
###重启后生效

在这里插入图片描述

[root@des ~]# vim /etc/profile
export a=10
[root@des ~]# vim /etc/bashrc 
export b=5
[root@des ~]# su - student
[student@des ~]$ echo $a
[student@des ~]$ echo $b
[student@des ~]$ su
[root@des ~]# echo $a
10
[root@des ~]# echo $b
5
###,若数字有误,将影响本次实验的其他实验数据还原

在这里插入图片描述
在这里插入图片描述

注意: 变量不能数字开头 元字符、 转义符只能引用 弱引用"" 强引用'' $$当前开启的shell 弱引用""不能转义/ ! ' $,应使用强引用''
[root@des ~]# a=#
###给a赋值
[root@des ~]# echo a
a
###输出a
[root@des ~]# echo $a
###输出赋给a的值
[root@des ~]# echo #
###不显示元字符

在这里插入图片描述
转义字符\

[student@des root]$ echo  \*
*
[student@des root]$ echo  \**#
**#
[root@des ~]# echo \* *
* anaconda-ks.cfg Desktop Documents Downloads Music Pictures Public tast Templates Videos
###\只能转义字符串

在这里插入图片描述

交互式的定义变量

read -p “input” 显示
read -s 隐藏

#!/bin/bash
[ -z $1 ] && {
        echo " input  "
        exit
}
[ -e $1 ] && {
        read -p " welcom "   ###输出字符,enter后继续下一命令
        vim $1
}

在这里插入图片描述

###将-p换为-s,内容不显示,enter继续下一命令
#!/bin/bash
[ -z $1 ] && {
        echo "Please input filename "
        exit
}
[ -e $1 ] && {
        read -s " welcom,enter your passwd  "
        vim $1
}

在这里插入图片描述
在这里插入图片描述
命令别名

alias

格式

alias xie='vim'
注意,此更改具有临时性
[root@des ~]# alias xie='vim'
[root@des ~]# xie file
[root@des ~]# exit
[kiosk@foundation1 ~]$ ssh root@172.25.254.101
[root@des ~]# xie file
bash: xie: command not found...
###退出后失效,说明是暂时性的

在这里插入图片描述
在这里插入图片描述

[root@des ~]# vim .bashrc
###root用户的环境变量
alias xie='vim'
[root@des ~]# xie file
bash: xie: command not found...
[root@des ~]# source .bashrc
###重新加载
[root@des ~]# xie file
[root@des ~]# su - student
[student@des ~]$ xie file
bash: xie: command not found...
###切换用户后失效,说明只对root用户起作用

在这里插入图片描述

在这里插入图片描述

还原

[student@des ~]$ su
[root@des student]# cd ~
[root@des ~]# ls -a
[root@des ~]# vim .bashrc
#alias xie='vim'

在这里插入图片描述

实验

[root@des ~]# vim /etc/bashrc 
alias xie='vim'
###编辑用户级环境变量

在这里插入图片描述

[root@des ~]# source /etc/bashrc 
###重新读取文件
[root@des ~]# xie file
[root@des ~]# su student
###切换用户
[student@des root]$ xie file
[root@des ~]# su 
[root@des ~]# su - student
###切换用户及环境
[student@des ~]$ xie file

在这里插入图片描述
在这里插入图片描述

[root@des student]# vim /etc/bashrc 
#alias xie='vim'
###还原

在这里插入图片描述

[root@des student]# vim /etc/profile
alias xie='vim'
###编辑系统级环境变量
[root@des student]# source /etc/profile

在这里插入图片描述

[root@des student]# su student
[student@des ~]$ xie file
bash: xie: command not found...
###切换用户后‘写’不可用
[student@des ~]$ su - student
[student@des ~]$ xie file
###切换环境及用户,可用

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在shell脚本中配置环境变量,可以使用export命令。例如,要将/usr/local/bin添加到PATH环境变量中,可以在脚本中添加以下行: ``` export PATH=$PATH:/usr/local/bin ``` 这将在脚本运行时将/usr/local/bin添加到PATH环境变量中,使得在脚本中运行的命令可以在该目录中找到。 ### 回答2: 在Linux系统中,shell脚本是非常常见的一种脚本,它可以用来完成很多的自动化工作。而环境变量则是系统中重要的一部分,在不同的应用中需要配置不同的环境变量。在这篇文章中,我们将重点讨论如何通过shell脚本配置环境变量。 在Linux系统中,环境变量被存储在一个叫做环境变量表的地方,其中包括了很多的系统和用户定义的变量。因此,我们可以通过修改环境变量表来添加、删除或修改环境变量。 在shell脚本中,我们可以使用export命令来设置环境变量。其语法如下: export 变量名=变量值 例如,我们可以设置JAVA_HOME环境变量: export JAVA_HOME=/usr/jdk1.8.0_151 当然,如果我们在shell脚本中设置的环境变量只对当前的脚本生效,而不会对其他的脚本或者当前的终端会话生效。因此,如果我们想要让这些环境变量在其他脚本和会话中生效,我们需要将这些设置写入到shell的配置文件中。 在Linux系统中,最常用的两个shell是bash和zsh,它们的配置文件分别为.bashrc和.zshrc。因此,我们可以将环境变量的设置写入到这两个配置文件中,以使其对所有脚本和会话生效。 例如,在.bashrc文件中添加JAVA_HOME环境变量: echo "export JAVA_HOME=/usr/jdk1.8.0_151" >> ~/.bashrc 在.zshrc文件中添加JAVA_HOME环境变量: echo "export JAVA_HOME=/usr/jdk1.8.0_151" >> ~/.zshrc 这样就可以实现将JAVA_HOME环境变量添加到系统中,并使其对所有脚本和会话生效。 ### 回答3: Shell脚本可以方便地配置环境变量,从而使得用户在使用系统时能够更加方便快捷地进行操作。在Linux和Unix系统中,环境变量是很重要的概念,它不仅影响系统运行,还能够影响用户的使用。 在Shell脚本中,我们可以使用export命令来配置环境变量。可以在用户家目录下的.bashrc文件中添加需要配置的环境变量,并使用export命令进行导出。 例如,如果我们要将/usr/local/bin路径添加到PATH环境变量中,以便我们在终端中能够使用其中的命令,可以在.bashrc文件中添加以下内容: ``` export PATH=$PATH:/usr/local/bin ``` 另外,我们也可以使用别的路径作为环境变量。例如,我们可以为一个PATH路径指定多个值,以决定系统中哪些目录应该用于查找命令。我们可以使用如下语句: ``` export PATH=$PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin ``` 这样,我们就能够在Shell中方便地使用需要的命令,大大提高了Shell脚本的使用效率。同时,Shell脚本也极其便于修改和维护,使得用户可以更加轻松地管理他们的环境变量的配置。 总之,Shell脚本是配置环境变量的一种简单、有效的方法。通过它,我们可以方便地在Linux和Unix系统上配置需要的环境变量,从而加强系统的功能和用户的体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值