一:名词理解

编译型:源程序(文本文件)  预处理  编译  汇编  链接

静态语言

解释型:源程序(文本文件)  解析器读取并执行

动态语言

编译器:

解释器:

解释:

词法分析

语法分析

语义分析

条件判断:选择分支

循环:

对象式编程:

过程式编程:

顺序执行

选择执行

循环执行

解释器:提供了编程环境

脚本:使用bash提供控制机智,将期望执行的命令罗列于文本文件中

bash没有库,整个程序几乎都要依赖于命令

二、变量

1、bash变量类别

本地变量:只对当前shell进程有效,对其它shell进程无效,包括当前shell的子进程

变量赋值:向变量的存储空间保存数据   VAR_NAME=VALUE

变量引用:${VAR_NAME}

“”:弱引用,里面的变量会被替换

'':强引用,里面的所有字符都是字面量,直接输出

环境变量:对当前shell进程有效及其子shell有效,对其他shell无效

定义:export VAR_NAME=VALUE

导出:export VAR_NAME

撤销变量: unset VAR_NAME

只读变量: readonly VAR_NAME

用户可自定义,bash有许多内置的环境变量

局部变量:对shell脚本中某代码片段有效,通常用于函数本地:

定义: local VAR_NAME=VALUE

位置参数变量:$1,$2,$3、、、${10}

特殊变量:$?,

查看当前shell进程中的所有变量:set

查看当前shell进程中的所有环境变量:export,printenv,env

变量命令:

1、不能使用程序中的关键字(保留字)如,if,case,for

2、只能使用数字,字母和下划线,且不能以数字开头

3、要见名知义

2、变量类型

a.存储机制

b.存储空间

c.参与的运算方式

(二进制)数字的存储,                18:00010010

文本的存储,  ASCII:128常用字符       18:1,8

1:8bits   8:8bits   18:16bits

变量类型:

数值型:

精确数值:整数

近似数值:浮点型

单精度浮点

双精度浮点

字符型:

char

string

布尔型:true,false

bash是弱字符型语言,一切皆字符

类型转换:显示转换,隐式转换

三、bash的配置文件

profile类:为交互式登录的用户提供配置

全局:

/etc/profile

/etc/profile.d/*.sh

用户:~/.bash_profile

用途:

1、设定环境变量

2、运行命令或脚本

bashrc类:为非交互式用户提供配置

全局:/etc/bashrc

用户:~/.bashrc

用途:

1、设定本地变量

2、定义命令别名

登录类型

交互式:直接通过终端输入帐号和密码登录,使用su - USERNAME

非交互式:su USERNAME

图形界面下打开的终端

执行脚本

如何使通过编辑配置文件修改的配置生效?

1、退出并重新登录

2、让bash重读此配置文件

. FILENAME       注意,多次重读配置文件可能会产生重复赋值

source FILENAME

系统开机读取bash配置文件顺序

交互登录的用户:

/etc/profile  /etc/profile.d/*.sh ~/.bash_profile ~/.bashrc /etc/bashrc

非交互式登录的用户:

~/.bashrc /etc/bashrc  /etc/proile.d/*.sh

转载于:https://blog.51cto.com/maxiaoyu/1691500

bash环境(变量与bash配置文件)相关推荐

  1. centos shell基础 alias 变量单引号 双引号 history 错误重定向 21 jobs 环境变量 .bash_history source配置文件 nohup ...

    centos shell基础知识 alias  变量单引号 双引号   history 错误重定向 2>&1  jobs  环境变量 .bash_history  source配置文件 ...

  2. bash环境变量的相关内容

    bash环境配置: 配置文件,生效范围划分,存在两类: 全局配置: /etc/profile, /etc/profile.d/*.sh /etc/bashrc 个人配置: ~/.bash_profil ...

  3. linux bash环境变量,linux-bash环境变量

    备注:博客总结借鉴于马哥课堂笔记 时间:2015.09.07 linux_bash环境变量 bash解释 bash可以是一个命令语言解释器 bash环境配置: 配置文件,从生效范围可分为两类 全局配置 ...

  4. linux子系统 显卡,bash 漏洞?linux授权命令sudo?windows linux子系统?新手理解的bash环境变量解析漏洞...

    你是否正在寻找关于bash 漏洞的内容?让我把最简洁的东西奉献给你: 1 环境变量是什么 无论是Windows程序还是Linux程序,都支持环境变量,一般来讲环境变量作为赋值字符串的形式存放到进程内存 ...

  5. linux中perl的环境变量,在Perl脚本中使用Bash环境变量?

    小编典典 这里有两个查询,关于使用Bash变量和运行外部命令. Perl中有%ENV哈希,带有环境变量 perl -wE'say $ENV{PWD}' 但是,通常最好在脚本中使用等效项,因为脚本的含义 ...

  6. mac配置node的环境变量,-bash: ls:command not fund

    一.mac配置环境变量 在使用公司电脑时候,经常因为标装问题,无法全局安装,那这时候我们就需要自定义安装路径,即配置环境变量(全局安装时候,软件安装的位置). 以下说的都是mac的操作. 以设置nod ...

  7. git bash环境变量设置

    windows系统中git bash的环境变量与系统的环境变量不一致,git bash的环境变量需要单独设置.下面以git-mm.exe为例 1.在~/.gitconfig(如果没有就创建)中增加下面 ...

  8. Mac终端设置,zsh和bash环境变量配置

    由于我把环境变量配置都写在了~/.bash_profile中,而终端默认使用zsh,导致添加的环境变量不生效.每次打开都需要输入一遍source ~/.bash_profile.

  9. Linux 设置环境变量导致bash:command not found

    问题描述: 给当前用户设置环境变量JAVA,MAVEN,设置完后忘记设置PATH,导致系统命令找不到. 原因: 命令一般存放在/bin ,/usr/bin,/sbin,/usr/sbin,当在设置完环 ...

最新文章

  1. Github火爆的项目,用聪明的方式学习Vim!
  2. 【Spring】Bean的生命周期
  3. C#发送邮件的实现实例解析
  4. xampp运行php中文乱码,dvwa+xampp搭建显示乱码的问题及解决方案
  5. Struts2面试问答
  6. python嵌套html开发gui_python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例...
  7. linux下编译安装
  8. JAVA调用WebService的三种方法
  9. JAVA打开PDF文件
  10. [机器学习与scikit-learn-33]:算法-回归-通过PolynomialFeatures实现数据的升维
  11. Android极速从视频里提取音频
  12. 实数截断式保留两位小数
  13. 普元 AppServer 部署时页面提示部署失败,后台报错:Unable to load class org.apache.cxf.ws.policy.AssertionBuilder
  14. A Survey: Visual Place Recognition 视觉场景识别的一篇调研
  15. Matplotlib画动态散点图:
  16. 【Latex】Texstudio英文拼写错误检查功能出问题的解决方法
  17. FPGA入门 Xilinx暑期学校学习Day2
  18. 平板电脑取代PC是大势所趋?
  19. vue.runtime.esm.js?2b0e:619 [Vue warn]: Duplicate keys detected: ‘tab-Test3‘. This may cause an upda
  20. 滑铁卢计算机专业世界最新排名,滑铁卢大学计算机专业全球排名

热门文章

  1. 因为sudoers权限而引起的sudo失效
  2. 如何让json_encode不转义斜杠
  3. Oracle Discover产品简介
  4. mysql数据库 quota_shell脚本抓取用户存储quota写道mysql并展现到grafana面板
  5. 6个座位办公室最佳位置_一天中6个最佳的护肤时间,你知道几个?
  6. mysql函数封装_Mysql对文件操作的封装
  7. java printstacktrace_为什么异常. printStackTrace() 被认为是不好的实践?_java_酷徒编程知识库...
  8. 数组字典_VBA数组与字典解决方案第1讲:函数,公式,数组,数组公式的概念...
  9. Nacos配置管理模型
  10. 使用Zookeeper实现leader选举