shell脚本之基础语法

Shell脚本定义
脚本名称:尽量做到观其名,明其意了解脚本大概是写什么的
首行内容:#!/bin/bash,#!又称为shebang,/bin/bash是告诉解释器用的哪一个shell。shell脚本第一行必须这样写
Shell脚本之条件测试分为三类
类型为:整数测试;
字符测试;
文件测试
测试的表达式为:
[ 表达式 ] :为命令测试;
[[ 表达式 ]]:为关键字测试
Test 表达式:使用test命令进行测试;
注意:[ 表达式 ]和[[ 表达式 ]]两边必须有空格,要不就报错误;

Shell中真表示为true,假则为false
True的值为:0
False的值为:1-255
命令之间的逻辑关系:
逻辑与&&:第一个条件为真时,第二个条件接着执行
逻辑或||:第一个条件为假时,第二个条件接着执行

整数测试:
-eq:测试两个整数是否相等,相等则为真
-ne:测试两个整数是否不等,不等则为真
-gt:测试一个书是否大于另一个数
-lt:测试一个书是否小于另一个数
-ge:大于或等于另一个数
-le:小于或等于另一个数
例如:
定义变量A=2,B=3, 测试$A与$B是否相等,三种方法都可以。
[ $A -eq $B ]
[[ $A -eq $B ]]
Test $A -eq $B
定义变量YOUTH=25,OLD=60
[ $YOUTH -lt $OLD ] &> /dev/null && echo ‘yes , your right.’ || echo ‘oh no,your bad’
Shell计算用法:
$[ ]:例A=1,B=2,$[$A+$B]
Let:例A=1,B=2,let $A+$B
Expr:例A=1,B=2,expr $A+$B
文件测试:
-e:判断某一文件是否存在
-f:判断某一文件是否是普通文件
-d:判断是否是目录
-r:判断当前用户是否对该文件有可读权限
-w:判断当前用户是否对该文件有可写权限
-x:判断当前用户是否对该文件有可执行权限
测试文件是否存在使用-e选项,三种方法都可以。
[ -e filename ]
[[ -efilename ]]
Test -e filename

Shell条件判断语句

  1. 单分支if语句
    if 判断条件;then
    Statement1
    Statement2

    fi
  2. 双分支if语句
    if 判断条件;then
    Statement1
    Statement2

    else
    Statement3
    Statement4

    fi
  3. 多分支if语句
    If 判断条件;then
    Statement1

    elif 判断条件;then
    Statement2

    else
    Statement3
    fi
    例:定义变量FILE=/etc/profile
    #!/bin/bash
    #filename=filetest.sh
    FILE=/etc/profile
    if [ ! -e $FILE ];then #叹号表示取反;
    echo “No such file.”
    exit 2
    fi
    if [ -f $FILE ]; then
    echo “common file.”
    elif [-d $FILE ]; then
    echo “directory”
    else
    echo “Not found”
    fi
    后期还会更改!!!

原文地址:https://blog.51cto.com/14132521/2395177

时间: 2024-12-15 14:42:40

shell脚本之基础语法的相关文章

shell 脚本-符号-基础语法

为了便于识别  建议 以.sh 结尾 shell脚本 可以放上所有的命令行的指令(源于bash) shell脚本 是 解释型语言      c/c++ 是编译型语言 下面用到的 shell代码sh_1.sh #!/bin/bash cd ../ ls pwd 解释型脚本的执行过程: script.sh 是文本文件,根本没有代码段和 _start  函数 , exec 怎么执行. 解释: Shell会fork 一个子进程并调用 exec执行 ./script.sh这个程序,exec 系统调用应该把

shell脚本的基础

shell脚本的基础 shell 基本语法 变量 什么是shell? 先看一个简单的shell程序 [[email protected]~]# cat linux.sh      #查看linux.sh文件内容#!/bin/bash echo -e "\e[1;31m linuxtouch  \e[0m"   #红色字体输出 linuxtouch[[email protected] ~]# sh linux.sh  linuxtouch  [[email protected] ~]#

第九章、shell脚本编程基础

第九章.shell脚本编程基础 本章内容 编程基础 脚本基本格式 变量 运算 条件测试 配置用户环境 编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令 编程语言: 低级:汇编 高级: 编译:高级语言-->编译器-->目标代码 java,C# 解释:高级语言-->解释器-->机器代码 shell, perl, python (系统后台

Linux shell脚本编程基础之练习篇

shell脚本编程基础之练习篇. 1.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. #!/bin/bash if [ $# -ne 1 ] then echo "请输入一个参数" exit else echo "参数正确" newfile=$1 fi #echo `grep "^#\!" ${newfile}` if ! grep "^#\!" ${newfile} &>/

linux:shell脚本的一些语法

读取文件的第一行并赋值给变量 var=`head -1 filename` #`不是单引号,是Esc下方的一个按键,为命令替换符,将命令行执行结果赋给var 读取文件的第N行并赋值给变量 var=`sed -n Np filename` #把N替换成数字 逐行读取文件 while read line do echo $line done < filename linux:shell脚本的一些语法,布布扣,bubuko.com

如何在 Shell 脚本中执行语法检查调试模式

我们开启了 Shell 脚本调试系列文章,先是解释了不同的调试选项,下面介绍如何启用shell调试模式. 写完脚本后,建议在运行脚本之前先检查脚本中的语法,而不是查看它们的输出以确认它们是否正常工作. 在本系列的这一部分,我们将了解如何使用语法检查调试模式.记住我们之前在本系列的第一部分中解释了不同的调试选项,在这里,我们将使用它们来执行脚本调试. 启用 verbose 调试模式 在进入本指导的重点之前,让我们简要地探索下 verbose 模式.它可以用 -v 调试选项来启用,它会告诉 shel

shell脚本的基础1

shell脚本的基础 1.shell 脚本的编写规范 2 变量与特殊变量应用 3局部变量与全局变量 4 测试判断表达式 在一些复杂的Linux维护工作中,大量重复的输入和交互操作不但费时费力,而且容易出错. 编写脚本的好处: 批量的处理,自动化的完成维护,减轻管理员的负担. linux的shell脚本是一种特殊的应用程序,常见的shell解释器有很多种使用不同的shell时期内部指令命令提示方式方面会存在一些区别,可以通过/etc/shells文件查看 [[email protected] ~]

文本处理工具和正则表达式、shell脚本编程基础-第四周

第四周-文本处理工具和正则表达式.shell脚本编程基础1. 统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户的个数,并将用户都显示出来grep -v '/sbin/nologin' /etc/passwd|wc -lgrep -v '/sbin/nologin' /etc/passwd|cut -d: -f12. 查出用户UID最大值的用户名,UID及shell类型.cut -d: -f1,3,7 /etc/passwd|sort -t: -k2 -nr

shell 脚本编程基础

一.编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 1.程序的执行方式 计算机:运行二进制指令: 编程语言: 低级:汇编 高级: 编译:高级语言–>编译器–>目标代码 java,C# 解释:高级语言–>解释器–>机器代码 shell, perl, python 2.编程基本概念 编程逻辑处理方式: 顺序执行 循环执行 选择执行 shell编程:过程式.解释执行 编程语言