设为首页 收藏本站
查看: 914|回复: 0

[经验分享] linux bash基础

[复制链接]

尚未签到

发表于 2018-5-22 08:42:03 | 显示全部楼层 |阅读模式
  bash环境配置:
  配置文件,生效范围划分,存在两类:
  全局配置:
  /etc/profile, /etc/profile.d/*.sh, /etc/bashrc
  个人配置:
  ~/.bash_profile, ~/.bashrc
  

  按功能划分,存在两类:
  profile类:为交互式登录的shell提供配置
  /etc/profile, /etc/profile.d/*.sh
  ~/.bash_profile
  功用:
  (1) 定义环境变量,例如PATH、PS1
  (2) 运行命令或脚本
  

  bashrc类:为非交互式登录shell提供配置
  /etc/bashrc
  ~/.bashrc
  

  功用:
  (1) 定义命令别名;
  (2) 定义本地变量;
  

  变量:内存空间,变量名
  类型:
  环境变量:作用范围当前shell进程及其子进程
  本地变量:作用范围当前shell进程
  局部变量:作用范围仅为当前shell进程中某代码片断(通常为函数上下文)
  

  位置变量:$1, $2
  特殊变量:$?(上一个命令的返回结果,正常为0,其他即为有错)
  

  变量定义方式:
  bash内置变量:可直接调用,内置了许多环境变量,例如PATH等
  自定义变量:
  变量赋值:变量名=值
  

  bash弱类型:
  变量存储数据时,默认均采用字符形式;任何变量可以不经声明,直接引用;
  120(字符类型):3byte
  120(数值类型): 1byte

  

  备注:这在php中也是这情况

  

  定义本地变量:
  name=value
  

  查看:set
  

  定义环境变量:
  export name=value
  declare -x name=value
  

  查看:env, printenv, export
  

  撤消变量:
  unset name
  

  引用变量:
  ${name}, $name
  

  bash中的引用符号:
  '': 强引用,变量替换不会发生
  "":弱引用
  ``: 命令引用
  

  shell登录类型:
  交互式登录:
  直接通过终端进行的登录;
  通过su -l Username命令实现的用户切换;
  非交互式登录:
  图形界面下打开的命令行窗口;
  执行脚本;
  su Username;
  

  配置文件作用次序:
  交互式登录:
  /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc
  非交互式登录:
  ~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh
  

  编辑配置文件定义的新配置如何生效?
  (1) 重新登录;
  (2) 让当前shell进程去重新读取指定的配置文件;
  source /PATH/TO/SOMEFILE
  . /PATH/TO/SOMEFILE
  注意:有可能导致副作用
  

  实战:
  

  1.定义对所有用都生效的别名?        

  解答:只需vim /etc/bashrc即可
  

  2.如果仅需要PATH环境变量的修改仅对root用户生效,该如何操作?
  解答:vim ~/.bashrc即可 修改PATH变量
  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-478910-1-1.html 上篇帖子: linux find使用教程 下篇帖子: 【linux】【if】判断
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表