关闭

Shell脚本编程入门(一)

标签: shelllinuxubuntu
1044人阅读 评论(2) 收藏 举报
分类:

最近在学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表示支持转义字符

运行效果:
这里写图片描述

1
0
查看评论

Shell中函数的定义和使用

和其他语言一样,在Shell语言中也有着函数。尽管在Shell中函数并非是必须的编程元素,但是通过使用函数,可以对程序进行更加好的组织。将一些相对独立的代码变成函数,可以提高程序的可读性和重用性。避免重复编写大量相同的代码。 函数的定义在Shell中可以通过下面的两种语法来定义函数,分别如下:fun...
  • zbw18297786698
  • zbw18297786698
  • 2017-09-02 16:28
  • 1857

Shell 摘记

输出重定向: 1.定义变量 2.使用变量 3.重新定义变量 4.只读变量 5.删除变量 6.特殊变量 7.命令替换 8.变量替换 9.运算符 10.注释
  • alpha_xiao
  • alpha_xiao
  • 2016-10-08 10:34
  • 416

写shell需要注意的一点

在shell的开始设置set -eu set -u Treat unset variables as an error when performing parameter expansion. If expansion is attempted on an unset variable...
  • aoerqileng
  • aoerqileng
  • 2018-01-24 14:38
  • 22

shell学习(不错的简单学习教程)

shell脚本   Shell Script,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的...
  • zhangdong305
  • zhangdong305
  • 2015-03-26 15:09
  • 3267

三种statement用法

Statement 主要用来执行查询操作executeQuery,不引入事务操作 PrepareStatement主要用来执行增删改操作executeUpdate,引入事务的操作 CallableStatement用来执行存储过程 CallableStatement cs = conn.pre...
  • xiao_jun_0820
  • xiao_jun_0820
  • 2012-01-11 11:17
  • 902

Statement和Prestatement的区别

1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程 2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不...
  • LANGZI7758521
  • LANGZI7758521
  • 2016-06-27 10:08
  • 1195

Linux shell脚本编程入门 (一)

环境变量 一些命令 shell脚本中经常出现各种环境变量,因此要写脚本,必须先来了解环境变量.常见的处理环境变量的命令,列举在下面 set 用来显示本地变量env 用来显示环境变量export 用来显示和设置环境变量source 后面跟一个文件,可以直接执行文件里的脚本命令并更新 常见的环境变量...
  • zhangxb35
  • zhangxb35
  • 2015-01-04 21:45
  • 999

shell脚本编程入门

Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit、kedit、emacs、vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):   #!/bin/sh ... 注意:最好使用“!/bin/bash”而不是“!/bin/...
  • u011130752
  • u011130752
  • 2015-04-21 16:44
  • 376

Linux Shell脚本详细教程

Shell简介:什么是Shell,Shell命令的两种执行方式 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序...
  • qq_16681169
  • qq_16681169
  • 2017-10-16 14:43
  • 159

makefile

Small C/C++ applications with a couple of modules are easy to manage. Developers can recompile them easily by calling the compiler directly, passing s...
  • hjzbupt
  • hjzbupt
  • 2011-11-22 05:34
  • 343
    更多JavaEE资料请关注公众号
    个人资料
    • 访问:1937969次
    • 积分:18988
    • 等级:
    • 排名:第560名
    • 原创:326篇
    • 转载:1篇
    • 译文:2篇
    • 评论:1013条
    博客专栏
    最新评论