shell脚本:定义,连接符,输入输出流,消息重定向,命令的退出状态,申明变量,运算符,控制语句

定义:linux下的多命令操作文件

连接符: ;:用于命令的分隔符,命令会从左往右依次执行

&&:用于命令的分隔符,出错命令会停止执行

||:用于命令的分隔符,出错才会继续执行

&:后台执行,

输入输出流  标准输出:命令的给出的正确消息,数值描述符:1

标准错误:命令的给出的错误消息,数值描述符:2

标准输入:接受内容,数值描述符:0

消息重定向  输出重定向   >    >>

合并输出消息1>&2   2>&1

输入重定向<

命令的退出状态   0:正确的

非0:错误的

$?:命令退出值

ech0 string:输出字符串

申明变量      命令行直接申明:varName=value

read varName1   varName2.......

取变量值:${varName}

运算符      test  expression  或者  [expression]

expr:数值计算

控制语句:if  select   while   for   continue   break

变量 含义
$0 当前脚本的文件名
$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
$# 传递给脚本或函数的参数个数。
$* 传递给脚本或函数的所有参数。
$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。
$? 上个命令的退出状态,或函数的返回值。
$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。

问题1:  标准输出。标准错误,标准输入的理解

2.   /dev/null  是伪设备,空文件设备

3.   1>&2,2>&1要理解其中的意思  ???????????????????????

比如:id tom 2> /dev/null    2的意思是如果你的命令出错,错误报告直接就删除了

不会显示在屏幕上,如果命令是对的,正常输出显示出来。

如果用户tom已经存在,命令正常执行,正常输出,uid=606(tom)gid=607(tom)

组=607(tom)

如果用户tom不存在,,则命令出错,执行上述重定向到/dev/null上,不会显示在屏幕上。

4.运算符的应用注意事项:

编写第一行加  #!

编写完之后用chmod加可执行权限

执行编写好的程序是  ./  + 程序名字

比如:加法运算程序

sum=0

for((i=1;i<=$#;i++));

do

sum=$(($sum +${!i}));

或 sum=$sum +${!i} ;

done

echo "sum = ${sum]";

linux技能点七 shell的更多相关文章

  1. linux学习(七)Shell编程中的变量

    目录 shell编程的建立 shell的hello world! Shell的环境变量 使用和设置环境变量 Shell的系统变量 用户自定义变量 @(Shell编程) shell编程的建立 [root ...

  2. 自学Linux命令行与Shell脚本之路

    自学Linux命令行与Shell脚本之路[第一回]:初识Linux   1.1 自学Linux Shell1.1-Linux初识 1.2 自学Linux Shell1.2-Linux目录结构 1.3  ...

  3. 聊聊我怎么系统学习Linux技能并快速提高的

    随着电子信息科技时代的发展,学会使用计算机在我们的生活中成为了必不可少的一项技能.而作为计算机中的三大操作系统之一的Linux更是饱受计算机爱好者们的喜爱.今天我们就来和大家一起聊一聊Linux操作系 ...

  4. 20135302魏静静——linux课程第七周实验及总结

    linux课程第七周实验及总结 实验及学习总结 1. 编译链接的过程和ELF可执行文件格式(以hello为例) GNU编译系统编译源码: 首先,运行C预处理器(cpp),将.c文件翻译成.i文件——g ...

  5. Linux学习笔记(七) 查询系统

    1.查看命令 (1)man 可以使用 man 命令名称 命令查看某个命令的详细用法,其显示的内容如下: NAME:命令名称 SYNOPSIS:语法 DESCRIPTION:说明 OPTIONS:选项 ...

  6. Linux命令行与Shell脚本编程大全

    快来参加<Linux命令行与Shell脚本编程大全>学习吧,提升技能,展示自我. 点击链接即可进入学习:https://s.imooc.com/WTmCO6H 课程亮点适合零基础读者,从零 ...

  7. Linux基础:初识shell之系统命令基础

    一 shell介绍 shell Shell 中文意思贝壳,寓意类似内核的壳.Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务,简而言之就是只要能够操作应用 ...

  8. Linux安全基础:shell及一些基础命令

    1.什么是shell?Shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的是Bash. 2.shell的分类(1)bash bash shell 是 Bourn ...

  9. 利用ganymed-ssh2远程执行其它Linux机器上的shell命令

    实际应用中,有时候需要从web管理界面上,远程去启动其它linux主机上的程序,利用ssh协议可以方便的满足这一需求.事实上hadoop架构中,从nn上启动dn时,就是利用了免密码ssh登录.gany ...

随机推荐

  1. 使用trace文件分析ANR

    2017年02月07日 12:32:45 不死鸟JGC 阅读数 13886更多 分类专栏: Android   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链 ...

  2. yum安装python3.6的方法

    # centos7 # 换成阿里云的yum源 yum -y install epel-release yum repolist yum -y install python36 测试 [root@loc ...

  3. ES6 - 解构(数组和对象)

    解构对象 /** * 解构:快捷,方便 * * 对象解构 */ { var expense = { type: "es6", amount: "45" }; / ...

  4. CSAGAN:LinesToFacePhoto: Face Photo Generation from Lines with Conditional Self-Attention Generative Adversarial Network - 1 - 论文学习

    ABSTRACT 在本文中,我们探讨了从线条生成逼真的人脸图像的任务.先前的基于条件生成对抗网络(cGANs)的方法已经证明,当条件图像和输出图像共享对齐良好的结构时,它们能够生成视觉上可信的图像.然 ...

  5. 关于Spring Cloud的思考和总结

    博主开发使用了Spring Cloud,使用过程中的一些学习和经验,体会通过本博文进行记录. 以前的架构,单体应用: 加入ESB,通过总线进行调用: 微服务架构: 区别: SOA架构主要针对企业级,采 ...

  6. IDEA 使用SequenceDiagram插件绘制时序图

    最近看代码,由于代码的调用层级深度比较多,层层深入到某处时,已经忘记了身处何处,虽然自己可以使用一些画图工具来时序图,但是,这种情况下,自己画时序图很繁琐,比较浪费时间,上网找了一下IDEA有一个插件 ...

  7. Corrupt JPEG data: 1 extraneous bytes before marker 0xd9 JPEG datastream contains no image

    Corrupt JPEG data: 1 extraneous bytes before marker 0xd9 JPEG datastream contains no image 对比发送时的全部数 ...

  8. python中将函数赋值给变量时需要注意的一些问题

    python中将函数赋值给变量时需要注意的一些问题 变量赋值是我们在日常开发中经常会遇到的一个问题,本文主要给大家介绍的是关于python将函数赋值给变量时需要注意的一些问题,分享出来供大家参考学习, ...

  9. python 根据生日计算年龄 sqlalchemy根据身份证号计算生日 性别

    import datetime '): birth_d = datetime.datetime.strptime(birth_s, "%Y%m%d") today_d = date ...

  10. .NET HttpWebRequest应用

    提供基于HttpWebRequest的请求的应用类,其中包含:get请求(带参或不带参).post请求.文件传输请求 方法的具体说明: PostHttp:post请求,支持三种提交模式:FROM.JS ...