Shell编程知识(一)

Shell编程知识

shell变量
变量可以分为两类:环境变量(全局变量)和普通变量(局部变量)。
环境变量也可称为全局变量,可以在创建他们的Shell及其派生出来的任意子进程Shell中使用,环境变量又可以分为自定义环境变量和bash内置的环境变量。
普通变量也可称为局部变量,只能在创建他们的Shell函数或Shell脚本中使用。普通变量一般由开发者在开发脚本程序时创建。

环境变量
环境变量一般是指用export内置命令导出的变量,用于定义Shell的运行环境,保证Shell命令的正确执行。
环境变量可以在命令行中设置和创建,但用户退出命令时这些变量值就会丢失,因此,如果希望永久保存环境变量,可在用户家目录下的.bash_profile或.bashrc(非用户登录模式特有,例如远程SSH)文件中,或者全局配置/etc/bashrc(非用户登录模式特有,例如远程SSH)或/etc/profile文件中定义。在将环境变量放入上述的文件中后,每次用户登录时这些变量都将被初始化。
按照系统规范,所有环境变量的名字均采用大写形式。

  1. 设置环境变量
    如果想要设置环境变量,就要在给变量赋值之后或在设置变量时使用export命令,具体设置见下文的示例。
    export命令和declare命令的格式如下:
    1)export 变量名=value
    2)变量名=value ; export 变量名
    3)declare -x 变量名=value
    提示:以上为设置环境变量的3种方法
    下面来看看让环境变量永久生效的常用设置文件
    1)用户的环境变量配置

提示:对于用户的环境变量设置,比较常见的是用户家目录下的.bashrc(推荐在此文件中)和.bash_profile。
2)全局环境变量的配置
常见的全局环境变量的配置文件如下:
/etc/profile
/etc/bashrc
/etc/profile.d/
若要在登录后初始化或显示加载内容,则把脚本文件放在/etc/profile.d/下即可(无须加执行权限)。

  1. 设置登录提示的两种方式
    第一种在/etc/motd里增加提示的字符串
    第二种是在/etc/profile.d/下面增加脚本
  2. 显示与取消环境变量
    通过echo或printf命令打印环境变量
    [root@RockyServer]~# echo $HOME
    /root
    [root@RockyServer]~# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    [root@RockyServer]~# echo $UID
    0
    [root@RockyServer]~# echo $PWD
    /root
    [root@RockyServer]~# echo $SHELL
    /bin/zsh
    [root@RockyServer]~# echo $USER
    root
    提示:在写Shell脚本时可以直接使用系统默认的环境变量,一般情况下是不需要重新定义的,在使用定时任务等执行Shell脚本时建议在脚本中重新定义。
    用env或set显示默认的环境变量。
    用unset消除本地变量和环境变量

环境变量的知识小结:
□变量名通常要大写。
□变量可以在自身的Shell及子Shell中使用。
□常用export来定义环境变量。
□执行env默认可以显示所有的环境变量名称及对应的值。
□输出时用“$变量名”,取消时用“unset变量名”。
□书写crond定时任务时要注意,脚本要用到的环境变量最好先在所执行的Shell脚本中重新定义。
□如果希望环境变量永久生效,则可以将其放在用户环境变量文件或全局环境变量文件里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

helmer_hanssen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值