bash环境(变量与bash配置文件)
一:名词理解
编译型:源程序(文本文件) 预处理 编译 汇编 链接
静态语言
解释型:源程序(文本文件) 解析器读取并执行
动态语言
编译器:
解释器:
解释:
词法分析
语法分析
语义分析
条件判断:选择分支
循环:
对象式编程:
过程式编程:
顺序执行
选择执行
循环执行
解释器:提供了编程环境
脚本:使用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配置文件)相关推荐
- centos shell基础 alias 变量单引号 双引号 history 错误重定向 21 jobs 环境变量 .bash_history source配置文件 nohup ...
centos shell基础知识 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 ...
- bash环境变量的相关内容
bash环境配置: 配置文件,生效范围划分,存在两类: 全局配置: /etc/profile, /etc/profile.d/*.sh /etc/bashrc 个人配置: ~/.bash_profil ...
- linux bash环境变量,linux-bash环境变量
备注:博客总结借鉴于马哥课堂笔记 时间:2015.09.07 linux_bash环境变量 bash解释 bash可以是一个命令语言解释器 bash环境配置: 配置文件,从生效范围可分为两类 全局配置 ...
- linux子系统 显卡,bash 漏洞?linux授权命令sudo?windows linux子系统?新手理解的bash环境变量解析漏洞...
你是否正在寻找关于bash 漏洞的内容?让我把最简洁的东西奉献给你: 1 环境变量是什么 无论是Windows程序还是Linux程序,都支持环境变量,一般来讲环境变量作为赋值字符串的形式存放到进程内存 ...
- linux中perl的环境变量,在Perl脚本中使用Bash环境变量?
小编典典 这里有两个查询,关于使用Bash变量和运行外部命令. Perl中有%ENV哈希,带有环境变量 perl -wE'say $ENV{PWD}' 但是,通常最好在脚本中使用等效项,因为脚本的含义 ...
- mac配置node的环境变量,-bash: ls:command not fund
一.mac配置环境变量 在使用公司电脑时候,经常因为标装问题,无法全局安装,那这时候我们就需要自定义安装路径,即配置环境变量(全局安装时候,软件安装的位置). 以下说的都是mac的操作. 以设置nod ...
- git bash环境变量设置
windows系统中git bash的环境变量与系统的环境变量不一致,git bash的环境变量需要单独设置.下面以git-mm.exe为例 1.在~/.gitconfig(如果没有就创建)中增加下面 ...
- Mac终端设置,zsh和bash环境变量配置
由于我把环境变量配置都写在了~/.bash_profile中,而终端默认使用zsh,导致添加的环境变量不生效.每次打开都需要输入一遍source ~/.bash_profile.
- Linux 设置环境变量导致bash:command not found
问题描述: 给当前用户设置环境变量JAVA,MAVEN,设置完后忘记设置PATH,导致系统命令找不到. 原因: 命令一般存放在/bin ,/usr/bin,/sbin,/usr/sbin,当在设置完环 ...
最新文章
- Github火爆的项目,用聪明的方式学习Vim!
- 【Spring】Bean的生命周期
- C#发送邮件的实现实例解析
- xampp运行php中文乱码,dvwa+xampp搭建显示乱码的问题及解决方案
- Struts2面试问答
- python嵌套html开发gui_python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例...
- linux下编译安装
- JAVA调用WebService的三种方法
- JAVA打开PDF文件
- [机器学习与scikit-learn-33]:算法-回归-通过PolynomialFeatures实现数据的升维
- Android极速从视频里提取音频
- 实数截断式保留两位小数
- 普元 AppServer 部署时页面提示部署失败,后台报错:Unable to load class org.apache.cxf.ws.policy.AssertionBuilder
- A Survey: Visual Place Recognition 视觉场景识别的一篇调研
- Matplotlib画动态散点图:
- 【Latex】Texstudio英文拼写错误检查功能出问题的解决方法
- FPGA入门 Xilinx暑期学校学习Day2
- 平板电脑取代PC是大势所趋?
- vue.runtime.esm.js?2b0e:619 [Vue warn]: Duplicate keys detected: ‘tab-Test3‘. This may cause an upda
- 滑铁卢计算机专业世界最新排名,滑铁卢大学计算机专业全球排名
热门文章
- 因为sudoers权限而引起的sudo失效
- 如何让json_encode不转义斜杠
- Oracle Discover产品简介
- mysql数据库 quota_shell脚本抓取用户存储quota写道mysql并展现到grafana面板
- 6个座位办公室最佳位置_一天中6个最佳的护肤时间,你知道几个?
- mysql函数封装_Mysql对文件操作的封装
- java printstacktrace_为什么异常. printStackTrace() 被认为是不好的实践?_java_酷徒编程知识库...
- 数组字典_VBA数组与字典解决方案第1讲:函数,公式,数组,数组公式的概念...
- Nacos配置管理模型
- 使用Zookeeper实现leader选举