linux export 生效_Linux之提高命令行的工作效率
辉语:之前聊了很多关于Linux中的内容,今天我们继续跟大家分享一下Linux中非常重要的知识点:shell脚本的编写。今天,我们就一起来了解一下shell脚本。
编写简单shell脚本
shell是什么呢?
命令行是基于文本的接口,可用于向计算机系统输入指令。
Linux命令行由shell提供!
Bash是Linux系统中最成功的shell。
shell脚本是什么呢?
shell脚本最简单的形式是一个可执行文件,其中包含命令列表,还可以具有编程逻辑,以控制整个任务中的决策。
为什么使用shell脚本?
Linux命令被组合到shell脚本中,以轻松解决重复和困难的现实问题;
如果编写得当,则shell脚本本身就是功能强大的命令行工具,并且可以被其他脚本利用。
编写简单的bash脚本
shell中的特殊字符:
# :是注释符号
$ :是取变量的值
$( ) :是命令替换
‘ ‘ :是命令替换
许多字符在bash中有特殊的意义,如果想忽略这些含义,则使用引号和转义字符即可。\ :取消后面单个字符的特殊含义“ “ :转义shell扩展含义,不转义命令替换和变量的替换‘ ‘ : 可以转义单引号内部的所有字符含义
脚本的第一行以’#!’开头,通常称为sh-bang或shebang,这两个字符分别是sharp和bang,表示是一个解释型脚本。
vim shell1.sh
#! /bin/bash
echo laoma
执行脚本之前,必须赋予该文件执行权限:
chmod +x shell1.sh
然后执行该文件
/home/student/shell1.sh
bash变量/别名/算数扩展
普通变量
[declare] 变量名 = 变量值
变量类型:
-i integer
declare -i age=16
-l 所有字符转化为小写字母
-u 所有字符转化为大写字母
set命令:查看当前shell中的变量和函数!
如何取消一个变量的值呢?
unset 变量名
特殊变量
环境变量 environment
定义一个环境变量:
[declare -x] 环境变量名 = 值
或 export 环境变量名 = 值 (最常用的方式)
或 环境变量名=值;export 环境变量名
注意:普通变量和环境变量有什么区别呢?他们的作用区域不同,普通变量只能作用于当前shell中,而环境变量则适用于多个shell中。
例如:在一个shell中定义一个普通变量和一个环境变量;测试执行“bash”命令,则普通变量值不存在,而环境变量值存在!
env命令:查看当前shell中环境变量
取消定义使用:unset 环境变量名
shell特殊变量
$0 命令名或脚本名
$1 第1个参数名
$2 第2个参数名
$3 第3个参数名
….
$# 参数个数
$* 所有参数单做一个整体
$@ 每个参数当做独立的个体
$? 上一个命令的返回值
$! 上一个放在后台执行的命令的PID
shell初始化环境的文件
登录式shell:/etc/profile、~/.bash_profile、~/.bashrc、/etc/bashrc非登录式shell:~/.bashrc、/etc/bashrc
每个文件的含义如下:
/etc/profile:此文件为系统的每个用户设置环境信息,系统中每个用户登录时都要执行这个脚本,如果系统管理员希望某个设置对所有用户都生效,则可以写在这个脚本里。~/.bash_profile:每个用户都可使用该文件设置专用于自己的shell信息,当用户登录时,该文件仅执行一次。默认情况下,他设置一些环境变量,执行用户的.bashrc文件。~/.bashrc:该文件包含专用于自己的shell信息,当登录时以及每次新打开shell时,该文件被读取。/etc/bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。
bash别名
alias命令单独执行,可以查看当前shell环境中的命令别名。
alias别名:临时生效,在当前shell中执行alias命令
比如:alias hello=’echo hello’
hello 就会执行echo hello语句打印出hello
永久生效:编辑配置文件/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc ;在以上配置文件中添加别名语句即可;.或者source 文件名;让配置文件汇总内容生效。
取消别名:unalias 别名;如果是永久生效,则将文件中命令删除即可!
bash算术扩展
例子:
echo $[1+!]
echo $[2*2]
echo $[5%2]
expr 5 % 2
linux export 生效_Linux之提高命令行的工作效率相关推荐
- 每个 Linux 用户都应该知道的命令行技巧
每个 Linux 用户都应该知道的命令行技巧 原创 2015-09-11 伯乐在线 程序员的那些事 [伯乐在线导读]:有网友在问答网站Quora上提问:"有哪些省时小技巧,是每个Linux用 ...
- 《Linux指令从入门到精通》——4.3 Linux下全屏幕文本编辑器的命令行方式
本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.3节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...
- 掌握好这23个Linux命令常用命令,让工作效率翻倍
掌握好这23个Linux命令常用命令,让工作效率翻倍 文章目录: 我现在也非常勤奋,你知道,勤奋并不是什么了不起,关键是产品质量要高 --<朗读者>黄永玉 95岁 https://mp.w ...
- DevOps 解决方案:最大限度地提高开发人员的工作效率,缩短上市时间以及提高客户满意度
DevOps 解决方案:和平.爱心与工作效率 为见证开发和运营之间前所未有的协作而做好准备.我们的解决方案可消除阻碍,有助于最大限度地提高开发人员的工作效率,缩短上市时间以及提高客户满意度. 为什么选 ...
- 使用智能客服系统提高了客服工作效率
使用智能客服系统提高了客服工作效率,及时的抓取信息,能够为企业提高留下各户的成功率,给企业的快速发展提供强有力的支持.在目前这个受疫情影响的环境中,越来越多的人为了保障安全,会有大量的人选择进行线上咨 ...
- Cheat—— 给Linux初学者和管理员一个终极命令行备忘单
当你不确定你所运行的命令,尤其是那些使用了许多选项的复杂命令时,你会怎么做?在这种情况下,我们使用man pages来获取帮助.还有一些其它的选择可能包括像'help','whereis'和'what ...
- linux mt命令,Cheat—— 给Linux初学者和管理员一个终极命令行备忘单
当你不确定你所运行的命令,尤其是那些使用了许多选项的复杂命令时,你会怎么做?在这种情况下,我们使用man pages来获取帮助.还有一些其它的选择可能包括像'help','whereis'和'what ...
- Linux中10个有用的命令行补齐命令
本文由 极客范 - 踏雁寻花 翻译自 Balakrishnan Mariyappan.欢迎加入极客翻译小组,同我们一道翻译与分享.转载请参见文章末尾处的要求. 在Linux系统中,输入一个命令,再按两 ...
- linux补齐命令,Linux中10个有用的命令行补齐命令
在Linux系统中,输入一个命令,再按两次TAB键,就会列出所有以输入字符开头的可用命令.这并不新鲜,很可能你已经知道了这个.这个功能被称作命令补全.默认情况下,bash命令行可以自动补全文件或目录名 ...
最新文章
- 重磅!计算机主题征稿,【EI/SCI检索】ICCBD 2021诚邀您投稿参会!
- Disruptor之概览
- LGB + KFold 代码 (1)
- PHP内置函数生成随机数的方法汇总
- 计算机及相关设备制造业2020,在现实生活中,接近完全垄断市场类型的行业包括()。A.计算机及相关设备制造业B.稀有...
- loss低但精确度低_低光照图像增强网络-RetinexNet(model.py解析【2】)
- matplotlib 直方图_Matplotlib直方图和散点图
- 【SpringBoot】Spring boot 多数据源 no transaction is in progress EntityManager flush
- MITRE 发布防御知识库 Shield
- Javascript中括号“[]”的多义性
- myeclipse编程技巧--中编辑器输入任何字母都出现提示功能
- PR快闪模板 高端黑白超级快闪图文展示开场PR视频模板
- plsql导出表结构和表数据的使用小结
- python123九宫格输入法_python制作朋友圈九宫格图片
- 根据身份证判断年龄排序
- 神经内科常用评估量表,神经功能缺损评分量表
- 神铺垫、神转折、神代入
- 一个字节8位,无符号类型,最大值为什么是2的8次方-1,范围0-255
- 畅联“5机”,华为云WeLink勇当数字化联接器
- html页面虚化,css实现背景虚化效果的示例代码
热门文章
- eclipse调试debug时出现source not found
- @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) 注解的作用
- 挑战练习6.4 报告编译版本
- 解决listview与scroll冲突,自定义listview高度
- 《纽约时报》:乔布斯是伟大的暴君
- 从数组创建ArrayList
- Visual Studio Code 编辑器使用
- 在jboss上部署web应用
- java.sql.SQLException: 关闭的连接 解决办法
- JavaScript 编程精解 中文第三版 翻译完成