xshell编程小结

初步学完shell脚本编程,通过这篇博客对其小结一下

shell定义:shell其实是一个命令解释器,它的作用是解释用户输入的命令和程序

shell脚本:我们可以在文本中输入一系列的命令、控制语句和变量,这一切有机的结合起来就形成了功能强大的shell脚本。

一.基础语法

查看系统脚本解释器

常用的是bash解释器

使用bash解释器执行脚本的三种方式:

bash xx.sh

sh xx.sh

./xx.sh(注意是否有权限,没有通过chmod 755 xx.sh 或chmod u+x xx.sh 添加权限)

shell中的变量

系统变量

$HOME 家目录

$PWD 当前目录

$SGELL 解释器路径

$USER 用户

自定义变量

变量名=变量值  注意等号两边没有空格

撤销变量 unset 变量名

静态变量

readonly 变量名=变量值(declare -r 变量名=变量值)

静态变量不能撤销,关机或运行完脚本自动失效

全局变量

变量名=变量值

export 变量名

特殊变量$

$n

n为数字,$0代表该脚本名称,$1-$9代表第一到第九个命令行参数,第十个及以后的参数需要用大括号包含,如${10}

$#

获取所有输入参数的个数

[email protected] 和$*

[email protected]和$*都表示命令行中所有的参数,一般看来没有区别,for循环打印时都是一个个打印,但当用双引号分别将他们括起来,"[email protected]"是分裂的,不是一个整体(for i in "[email protected]"),而“$*”是一个整体

$?

最后一次执行命令的返回状态,如果值为0,证明命令执行正确,非0命令执行不正确

注意:函数中,函数的返回值只能有$?获取,且返回值小于等于255。单独比较大小时,结果也是由$?获取

运算符

乘除加减

第一种方式:$((运算式))和$[运算式],运算符之间有没有空格无所谓

第二种方式:`expr 变量1  +-*/% 变量2` 运算符之间有空格 ,要加反引号

条件判断

[ condition ] 条件与两端括号之间有空格

大小判断

-lt 小于

-le 小于等于

-ge 大于等于

-gt  大于

-eq  等于

-ne  不等于

原文地址:https://www.cnblogs.com/zk-njupt/p/10765657.html

时间: 2025-01-02 15:13:51

xshell编程小结的相关文章

GDI编程小结

图形设备接口(GDI)是一个可运行程序,它接受Windows应用程序的画图请求(表现为GDI函数调用),并将它们传给对应的设备驱动程序,完毕特定于硬件的输出,象打印机输出和屏幕输出.GDI负责Windows的全部图形输出,包含屏幕上输出像素.在打印机上输出硬拷贝以及绘制Windows用户界面.也就是Windows的图形编程. 一.GDI体系结构 1.  GDI32.DLL导出的函数 GDI提供几百个Windows程序中能够调用的函数.这些函数大多数是从Win32的子系统DLL GDI32.DLL

Linux多线程编程小结

 Linux多线程编程小结 前一段时间由于开题的事情一直耽搁了我搞Linux的进度,搞的我之前学的东西都遗忘了,非常烦躁的说,如今抽个时间把之前所学的做个小节.文章内容主要总结于<Linux程序设计第3版>. 1.Linux进程与线程 Linux进程创建一个新线程时,线程将拥有自己的栈(由于线程有自己的局部变量),但与它的创建者共享全局变量.文件描写叙述符.信号句柄和当前文件夹状态. Linux通过fork创建子进程与创建线程之间是有差别的:fork创建出该进程的一份拷贝,这个新进程拥有自己的

sql编程小结之触发器

对照mysql5.1手册,对这几天学的sql编程进行小结,主要涉及触发器.存储过程.权限管理.主从分离等,权当抛砖引玉,高手请略过. 一.触发器 通俗的说就是在指定的数据表增删改的前或后触发执行特定的sql语句,数据表为引用永久性表.不能将触发程序与TEMPORARY表或视图关联起来.可以从四个方面理解触发器: ---监视地点 table ---监视事件 insert/update/delete ---触发时间 after/before ---触发事件 insert/update/delete

Android开发实践:多线程编程小结

我们知道,Android系统为了提高程序的实时响应能力,不允许在UI线程中进行耗时的操作,否则会出现ANR异常,因此必须将耗时的任务放到非UI线程中执行.Android/Java提供了很多类来帮助大家完成异步操作,比如:Thread类,Timer类,AsyncTask类,HandlerThread类,以及Executor接口.这些类都分别在什么场合下使用呢? 本文简单地总结一下Android开发中常见的多线程类型和解决方案,并比较和分析了各个方案的区别,以便更好地理解和应用这些API接口. 1.

C#高级编程小结----集合的小小总结

集合的小结 以上文章介绍了如何处理不同类型的集合,数组的大小是固定的,但可以使用列表作为动态增长的集合.队列以先进先出的方式访问元素.栈以后进先出的方式访问元素.链表可以快速的插入和删除元素,但搜索操作比较慢.通过键和值可以使用字典,它的搜索和插入操作比较快.集用于唯一项,可以是无序的HashSet,也可以是有序的SortedSet<T>.ObservableCollection<T>提供了在列表中的元素变化发生时触发的时间. 版权声明:本文为博主原创文章,未经博主允许不得转载.

GDI+编程小结

GDI+(Graphics Device Interface Plus图形设备接口加)是Windows XP和Windows Server 2003操作系统的子系统,也是.NET框架的重要组成部分,负责在屏幕和打印机上绘制图形图像和显示信息. GDI+不但在功能上比GDI 要强大很多,而且在代码编写方面也更简单,因此会很快成为Windows图形图像程序开发的首选. 一.              GDI+的特点和新增功能 GDI+与GDI一样,都具有设备无关性.应用程序的程序员可利用GDI+这样

【转】ACE编程小结

转自:http://blog.csdn.net/mjp_mjp/article/details/4406059 1.多线程中的ACE_Reactor::EventLoop,当在多线程(池)中调用EventLoop时,需要注意,在Acceptor/EventHandler中要使用其中的方法Reactor()来获取ACE_Reactor的指针,不要使用ACE_Reactor::instance,道理很简单哟.不过,一定要注意,在编程时,使用Reactor()类方法,比使用单件的方法要好很多,起码安全

网络编程-小结

1-----------------------------------------------------基本知识---------------------------------------------------------------- 网络编程的三要素        A:IP地址            a:点分十进制            b:IP地址的组成            c:IP地址的分类            d:dos命令            e:InetAddress

Shell脚本编程小结

1.  描述shell程序的运行原理: Shell是一种具备特殊功能的程序,它提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令,并把它送入内核去执行.内核是Linux系统的心脏,从开机自检时就驻留在计算机的内存中,直到计算机关闭为止,而用户的应用程序存储在计算机的硬盘上,仅当需要时才被调入内存.Shell是一种应用程序,当用户登录Linux系统时,Shell就会被调入内存执行.Shell独立于内核,它是连接内核和应用程序的桥梁,并由输入设备读取命令,再将其转为计算机可以理解的机械码,