脚本最好都放在/usr/local/sbin中

脚本的执行 sh -x 脚本.sh -x可以查看执行过程
1在脚本中使用变量 使用变量的时候,需要使用$符号:
 #!/bin/bash
 ##把命令赋值为变量,需要使用反引号
 d=`date +"%H:%M:%S"`
 echo "The script begin at $d"
 echo "Now we'll sleep 2 seconds"
 sleep 2
 d1=`date +"%H:%M:%S"`
 echo "The script end at $d"
2在脚本中使用数学运算要用[]括起来如下
#! /bin/bash
 
a=1
b=2
##数学运算用[]括起来
sum=$[$a+$b]
echo "$a + $b = $sum"
3在脚本中和控制台交互 使用read命令
#! /bin/bash
 
read -p "Please input a number: " x
read -p "Please input a number: " y
sum=$[$x+$y]
echo "The sum of the tow numbers is : $sum"
4shell中的预设变量
#! /bin/bash
 
echo "$1 $2 $3 $0"
1 2 就是脚本中的预设变量 一个脚本中的预设变量是没有限制的,0表示脚本文件本书
# sh option.sh 1 2 3
执行此命令输出内容如下所示:
1 2 3 option.sh
 
5shell中的逻辑判断
不带else的if 注意if后面的判断语句要用(())否则会报错
#! /bin/bash
 
read -p "Please input your score: " a
if ((a<60)); then
    echo "You didn't pass the exam."
fi
5.1带else 实例代码如下
#! /bin/bash
 
read -p "Please input your score: " a
if ((a<60)); then
    echo "You didn't pass the exam."
else
    echo "Good! You passed the exam."
fi
5.2带有else if(这是c中的说法)在shell中表示为elif
#! /bin/bash
 
read -p "Please input your score: " a
if ((a<60)); then
    echo "You didn't pass the exam."
elif ((a>=60)) && ((a<85)); then
    echo "Good! You passed the exam."
else
    echo "Very good! Your score is very heigh"
fi
5.3case 逻辑判断
#! /bin/bash
 
read -p "Input a number: " n
a=$[$n%2]
case $a in
1)
    echo "The number is odd."
    ;;
0)
    echo "The number is even."
    ;;
*)
    echo "It's not a number"
    ;;
esac
* 表示其他值
6for循环
实例代码如下:
#! /bin/bash
 
for file in `ls`;do
    echo $file
done
7while 循环
#! /bin/bash
 
a=5
while [ $a -ge 1 ]; do
    echo $a
    a=$[$a-1]
done
 
 
 
 
 

linux 学习随笔-shell简单编写的更多相关文章

  1. linux 学习随笔-shell基础知识

    1:用户的shell历史命令保存在home/username/.bash_history中 #!!  执行用户的上一条命令 #!pw  执行命令历史中最近一次以pw开头的命令 2:'*'来匹配零或多个 ...

  2. Linux 学习 (八) Shell

    Linux达人养成计划 I 学习笔记 Shell 是什么: Shell 是一个命令解释器 Shell 还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强 Shell 的分类: Bourne S ...

  3. (零)linux 学习 -- 从 shell 开始

    The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap02.html 文章目录 前言 什么是 she ...

  4. linux 学习10 shell 基础

    10.1 Shell概述 .Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一 ...

  5. (原创)鸟哥linux学习script shell相关笔记

    在使用鸟哥linux进行script shell学习的过程中碰到一些不太明白的知识点,在这里进行一些记录 1. [root@www scripts]# vi sh03.sh #!/bin/bash # ...

  6. Linux学习——自定义shell终端提示符

    转自:here 我使用的Linux发行版是LinuxMint 17.2 Rafaela,默认情况下Terminal中的shell提示包括了用户名.主机名.当前目录(绝对路径)和提示符.这样会导致当进入 ...

  7. (六)linux 学习 -- 从 shell 眼中看世界

    The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap08.html 文章目录 字符展开 `*` 路 ...

  8. Linux学习之Shell编程基础

    转自:http://my.oschina.net/itblog/blog/204410 1 语法基本介绍1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来 ...

  9. linux学习总结----shell编程

    ## 环境变量 ## 全局变量 ``` 常见的全局环境变量 PATH 指令的搜索路径 HOME 用户的家目录 LOGNAME 登录名 SHELL 脚本的类型 使用全局环境变量 echo $PATH 自 ...

随机推荐

  1. 关于Docker官方CentOS镜像无法启动mysqld的总结

    很多童鞋反映,在Docker官方CentOS镜像中安装了Mysql server后,无法正常启动. 无法正常启动表现为两种情况: 1> 初始完数据库后,mysqld启动报错 2> syst ...

  2. 软件工程-构建之法 WordCount小程序 统计文件中字符串个数,单词个数,词频,行数

    一.前言 在之前写过一个词频统计的C语言课设,别人说你一个大三的怎么写C语言课程,我只想说我是先学习VB,VB是我编程语言的开始,然后接触到C语言及C++:再后来我是学习C++,然后反过来学习C语言, ...

  3. virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续)

    virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续) 第一次接触到 linux,不知道linux的确很强大,然后用virtualbox ...

  4. iOS_UIImage的方向(imageOrientation)

    Demo下载地址 一.重现问题: 拍照获得的图片,由于尺寸不对,需要拆切.但是有的图片拆切出来,方向就乱了.查找了一些质量才知道.图片还有个方向属性! imageOrientation. 二.一个图片 ...

  5. Solr学习总结(五)SolrNet的基本用法及CURD

    上一篇已经讲到了Solr 查询的相关的参数.这里在讲讲C#是如何通过客户端请求和接受solr服务器的数据, 这里推荐使用SolrNet,主要是:SolrNet使用非常方便,而且用户众多,一直都在更新, ...

  6. C++中的std详解

    以下内容为:本人看C++视频教程-范磊主讲(2.91G)视频学习笔记. 与大家分享下,希望可以帮助大家学习c++! 引例: #include<iostream> int main() { ...

  7. ubuntu 解决 “E: Problem with MergeList /var/lib/apt/lists/”错误

    这种错误的意思:无法解析或打开软件包的列表或是状态文件. 出现的原因:无法解析或打开软件包列表多数情况是安装的软件与本身系统有一些冲突之类的问题,或者曾在更新软件源或下载软件的时候意外中断造成的. 解 ...

  8. 微服务(Microservices)——Martin Flower【翻译】

    原文是 Martin Flower 于 2014 年 3 月 25 日写的<Microservices>. 本文内容 微服务 微服务风格的特性 组件化(Componentization ) ...

  9. linq的简单增删改查

    Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(反正最后结果就是不用写ado.Net那一套增删改查,有一套封装好 ...

  10. EF架构~EF异步改造之路~让DbContextRepository去实现异步接口

    回到目录 返回异步与并行目录 上一讲中,我们定义了三个异步操作接口,这回我们将对它进行实现,而有一个基础知识需要大家清楚,那就是实现接口的方式,一般我们使用默认的方式(隐式实现),这种方法实现的接口方 ...