最近在学shell,记录一下。

if语句的使用:


1.判断两个参数大小


#!/bin/sh
#a test about if statement
a=10
b=20
if [ $a -eq $b ];then
echo "parameter a is equal to parameter b"
elif [ $a -le $b ];then
echo "parameter a is less than parameter b"
elif [ $a -gt $b ];then
echo "parameter a is greater than parameter b"
else
echo "i don't know the result!"
fi

2.执行脚本时动态传递参数

$1、$2、$3...分别代表接收到的参数
$0 表示程序的名称
$#  传递给程序的总的参数数目  
$? 上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值
$*  传递给程序的所有参数组成的字符串
$@ 以"参数1" "参数2" ... 形式保存所有参数   
$$ 本程序的(进程ID号)PID   
$!  上一个命令的PID

脚本

#!/bin/sh
#a test about if statement
a=$1
b=$2
if [ $a -eq $b ];then
echo "parameter a is equal to parameter b"
elif [ $a -le $b ];then
echo "parameter a is less than parameter b"
elif [ $a -gt $b ];then
echo "parameter a is greater than parameter b"
else
echo "i don't know the result!"
fi

执行效果:


3.for循环的使用


#!/bin/bash
#a test about for and while statement
for i in {1..5}
do
 echo "hello world"$i
done

注意:这里sh不支持这种写法,要用bash来运行

sh支持这种写法:

#!/bin/sh
#a test about for and while statement
for i in 1 2 3 4 5
do
 echo "hello world"$i
done

4.在/root/test/test2文件夹中创建100文件夹,名称为test1~test100


#!/bin/bash
#create 100 folder in /root/test/test2
for i in {1..100}
do
`mkdir ./test2/test$i`
done


5.编写乘法表,根据输入参数来输出某个数的乘法表


#!/bin/bash
for((i=1;i<=$1;i++)){
    for((j=1;j<=${i};j++)){
       ((ret=${i}*${j}))
       echo -ne ${i}*${j}=$ret"\t"
    }
    echo
}

注意:参数中的-n表示输出后不换行,e表示支持转义字符

运行效果:

Shell脚本编程入门(一)的更多相关文章

  1. 08 bash特性--shell脚本编程入门

    shell脚本编程入门 编程语言介绍 编程语言分为:机械语言.汇编语言和高级语言: 计算机能识别的语言为机械语言,而人类能学习的并且能够方便掌握的为高级语言,所以,我们所编写的程序就要通过编译来转换成 ...

  2. Shell脚本编程入门到放弃

    1 区分大小写 UNIX是区分大小写的,因此shell脚本也是区分大小写的 2 特殊字符 UNIX的某些字符都有特殊的意义或功能,如果它们不以其特殊的意义使用必须要进行转义(escaped). 为了转 ...

  3. shell脚本编程入门

    Linux的Shell种类众多,这里我们关注的重点是Bash. 基本语法 环境变量$PATH IO重定向:  以<改变标准输入 如:tr -d '\r' < dos-file.txt 以& ...

  4. Shell脚本编程入门(一) 分类: 学习笔记 linux ubuntu 2015-07-09 21:06 29人阅读 评论(0) 收藏

    最近在学shell,记录一下. if语句的使用: 1.判断两个参数大小 #!/bin/sh #a test about if statement a=10 b=20 if [ $a -eq $b ]; ...

  5. 5个Shell脚本编程入门练习例子

    例子一:绘制特殊图形 复制代码代码如下: #!/bin/bash MAX_NO=0 echo -n "Enter Number between (5 to 9) : " read ...

  6. Shell脚本编程30分钟入门

    Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_t ...

  7. Shell脚本编程学习入门 02

    Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):   #! ...

  8. Shell脚本编程学习入门 01

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...

  9. Shell脚本编程30分钟入门(小结)(转)

    原文链接https://www.jb51.net/article/161028.htm 什么是Shell脚本 Shell脚本(英语:Shell script),又称Shell命令稿.程序化脚本,是一种 ...

随机推荐

  1. VB.NET 泛型类型的应用经验

    VB.NET编程语言中的数据类型种类繁多,初学者要想全部掌握这些类型的应用是一个比较困难的步骤.今天我们先让大家了解一下VB.NET泛型类型这一高阶技术的应用,以便让大家对这一语言进行深入的解读. 定 ...

  2. SQL Server 连接 MySQL

    1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql.com/downloads/connector/odbc/ 2.安装好后,在管理工具- ...

  3. 使用PL/SQL Developer连接远程DB(本机不安装Oracle客户端)

    本文内容亲测可行环境:    服务端:centos6.7 ,oracle 11g r2 ,动态注册,监听端口号:1521    用户端:win7 ,没有安装ORACLE及其客户端 准备文件:plsql ...

  4. mac下IDLE无法输入中文的问题

    解决方法是下载安装新版本的 Tcl/Tk 下载地址:http://www.activestate.com/activetcl/downloads 注意要下最新的8.5.18.0版本,安装好了再重启ID ...

  5. break 与 continue

    1.break ①只有一层循环时,作用是跳出循环语句,执行后面的代码. ②break存在于循环嵌套的内层循环时,只能跳出内层循环,如果想要跳出外层循环,需要对外层循环添加标记. 2.continue ...

  6. Spring常用接口和类

    一.ApplicationContextAware接口 当一个类需要获取ApplicationContext实例时,可以让该类实现ApplicationContextAware接口.代码展示如下: p ...

  7. 利用Express模拟web安全之---xss的攻与防

    一.什么是XSS? 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意 ...

  8. Lucene——Field.Store(存储域选项)及Field.Index(索引选项)

    Field.Store.YES或者NO(存储域选项) 设置为YES表示或把这个域中的内容完全存储到文件中,方便进行文本的还原 设置为NO表示把这个域的内容不存储到文件中,但是可以被索引,此时内容无法完 ...

  9. 项目实战15.2—企业级堡垒机 jumpserver快速入门

    必备条件 硬件条件 ① 一台安装好 Jumpserver 系统的可用主机(堡垒机) ② 一台或多台可用的 Linux.Windows资产设备(被管理的资产) 服务条件 (1)coco服务 ① 鉴于心态 ...

  10. Docker容器如何互联

    容器的连接(linking)系统是除了端口映射外,另一种跟容器中应用交互的方式. 该系统会在源和接收容器之间创建一个隧道,接收容器可以看到源容器指定的信息. 自定义容器命名 连接系统依据容器的名称来执 ...