博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux Shell编程一
阅读量:6669 次
发布时间:2019-06-25

本文共 2005 字,大约阅读时间需要 6 分钟。

交互模式--当Shell收到用户输入命令后,就开始执行这项命令,并把结果显示到屏幕上,结束后Shell又会显示系统提示符,等待用户输入下一条命令。
后台运行--后台运行的符号为"&",在命令后面加上"&"符号,就可以将程序放到后台运行。例如:"top&"--在后台执行的程序怎么使它恢复到前台来运行呢?执行fg命令,注意当有多个程序在后台的时候,fg只能将最近打开的程序恢复到前台。--程序已经在前台运行,执行ctrl+z就可以放入后台。--如果有多个进程在后台运行,执行jobs命令,能够列出所有在后台执行的进程,那个中括号([])里面的数字就是jobs的代号,   通过fg %number 就可以恢复指定的后台进程, 注意:命令行"fg 1"和命令行"fg %1"都可以将编号为1的shell程序恢复到前台 。
输入输出重定向--通过重定向符">" "<"将标准输入输出重定向--例如:"ls > a.txt"将ls命令行的结果重定向到a.txt文件中。管道--通过管道符号"|"完成一系列命令的顺序处理。--例如:"ls -l |grep s"     将"ls -l"输出的结果作为命令"grep s"的输入 --管道的输入,如果是C语言程序,那么管道会以C语言函数的printf()的输出作为管道下一个命令的输入通配符--通配符的作用是在处理文件的时候用通配符模糊匹配一个或多个字符环境变量--Shell是个庞大的程序,为了使用工作环境符合用户的习惯或者应用的需要,可以让用户自行设置Shell使用环境。Shell Script(Shell 脚本)--Shell最重要也是最负责的就是Shell Script 。Shell除了解释命令以外还有重要的功能就是程序语言,   可以通过Shell Script进行程序设计,完成更加复杂的功能。
Shell变量变量分为预定义变量和环境变量--预定义变量:通常是用户自行定义的特殊用户变量,有效返回限于定义变量的Script中。--环境变量:通常用来定义系统重要的设置,主要功能为提供程序执行时的参考
定义预定义变量的方法语法:varName=value在Shell中定义变量很简单,不需要定义变量类型,只需要用"="给变量赋值即可。变量名称与等号之间不能有空格,不要以";"结尾,否则Shell会认为是错误的命令使用变量的值,只需要在变量前加"$",一般用于将变量输出为字符串,在shell中赋值操作仍然可以使用varName=value,Shell中的变量都是全局变量,不属于单个函数或者语句。set:查看那所有已经设置的变量unset varName:删除设置的变量
设置环境变量使用export命令语法:export varName=valueenv:显示当前环境变量export -n var Name   :删除设置的环境变量
环境变量的作用域--在.bash_profile中定义的变量在用户登录后一直有效。--在普通脚本文件中定义的变量只在脚本内有效。几个常用的环境变量PWD    显示当前路径UID    用户IDBASH_VERSION    Bash的版本HOSTTYPE    显示计算机平台OSTYPE        显示操作系统种类PATH        系统命令,文件查找路径HOME        用户的home目录
bash设置文件--/etc/profile    这是系统的Shell设置文件,用户可以将系统做重要的环境变量定义到这个文件中。    每次登陆的时候Bash都会读这个文件--~/.bash_profile    是用户个人的Bash设置文件,用户登录的时候bash就会读取该用户目录下的.bash_file文件--~/.bashrc    每次启动Shell时候都会读取这个文件
Shell文件中,以"#"开头的行代表注释,但是第一行的"#!"表示指定一个解析Shell命令的程序字符串前面加"$"代表他是一个变量的值,不可以做赋值用。--如果"$"后面是数字,表示是第几个参数(参数可以是用户输入,或者通过管道获取,或者函数传参)--$1代表第一个参数,$2代表第二个参数,$0代表命令本身参数详细说明$i    代表第i个参数$#    代表参数个数$*    代表所有参数$?    上一个命令的返回值关键字echo后面代码是执行语句,也会当字符串处理,除非使用``两个反单引号括起来。shell语法中,变量间的赋值语句必须这么写 a=$b; 错误写法 a=b;shell语法中,只有变量的赋值语句中间不可以加空格,其他的语句中间必须加空格

 

shift语句$i只能提供0到9这10个数据参数,那么超过10个怎么办呢?shift能使引用数移位,如果就可以将引用过的引数移掉,把位置留给下一个引数。

转载地址:http://jflxo.baihongyu.com/

你可能感兴趣的文章
第一次作业:基于Linux进程模型的分析
查看>>
贝叶斯学习1
查看>>
CSS 和 JS 动画哪个更快
查看>>
.NET中的六个重要概念:栈、堆、值类型、引用类型、装箱和拆箱
查看>>
正则表达式匹配html标签里面的内容
查看>>
C#学习笔记(六)抽象类 访问限制关键字 委托 事件
查看>>
C# 如何发送Http请求
查看>>
[转]我省多元化军民融合金融创新服务体系正加快形成
查看>>
JDBC
查看>>
Eclipse文件首部自动加 作者时间
查看>>
The C Programming Language(K&R) 扣细节随记
查看>>
window.open()的具体使用方法
查看>>
【IntelliJ IDEA】idea显示工具栏
查看>>
mac 下 android studio 的离线gradle极速配置方法
查看>>
Android Studio中Gradle sync failed
查看>>
送分啦
查看>>
C# 集合转换为DataTable
查看>>
Android Exception 5(startActivityForResult & singleTask)
查看>>
sp_send_dbmail权限问题
查看>>
vue添加属性绑定
查看>>