ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

shell编程--变量和if语句的使用

2020-06-24 22:03:54  阅读:243  来源: 互联网

标签:语句 脚本 shell 编程 echo sh 033 bash


一、什么是Shell?

        shell是外壳的意思,就是操作系统的外壳。我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls、cd、pwd等等。总结来说,Shell是一个命令解释器,它通过接受用户输入的Shell命令来启动、暂停、停止程序的运行或对计算机进行控制。

 

二、什么是脚本?

       脚本就是由Shell命令组成的文件,这些命令都是可执行程序的名字,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。

 

三、Linux中有哪些脚本解释器?

       有dash和bash两种,但dash没有bash功能全面,所以通常使用bash。

       可以通过命令来查看系统中的脚本解释器:  ls  -l  /bin/*sh

 

注意:执行之前首先要为脚本文件添加可执行权限,不然就得用root权限才能执行!

添加可执行权限: chmod  +x  name.sh   回车

 

四、shell脚本的执行方式

1)   ./name.sh     这种方式脚本第一行一定要加#!/bin/bash

 

2)    /bin/bash name.sh

 

3)   bash name.sh

 

4)   sh name.sh

 

 

 

 

 

<style></style>
在编译的时候用空格分割  依次传入参数

./name.sh  1234 abcd
             参数1  参数2

 

 

 

 

 

 

shell 脚本 常用参数

 

#!/bin/sh         # 在脚本第一行脚本头 # sh为当前系统默认shell,可指定为bash等shell
sh -x             # 执行过程
sh -n             # 检查语法
(a=bbk)           # 括号创建子shell运行
basename /a/b/c   # 从全路径中保留最后一层文件名或目录
dirname           # 取路径
$RANDOM           # 随机数
$$                # 进程号
source FileName   # 在当前bash环境下读取并执行FileName中的命令  # 等同 . FileName
sleep 5           # 间隔睡眠5秒
trap              # 在接收到信号后将要采取的行动
trap "" 2 3       # 禁止ctrl+c
$PWD              # 当前目录
$HOME             # 家目录
$OLDPWD           # 之前一个目录的路径
cd -              # 返回上一个目录路径
local ret         # 局部变量
yes               # 重复打印
yes |rm -i *      # 自动回答y或者其他
ls -p /home       # 区分目录和文件夹
ls -d /home/      # 查看匹配完整路径
time a.sh         # 测试程序执行时间
echo -n aa;echo bb                    # 不换行执行下一句话 将字符串原样输出
echo -e "s\tss\n\n\n"                 # 使转义生效
echo $a | cut -c2-6                   # 取字符串中字元
echo {a,b,c}{a,b,c}{a,b,c}            # 排列组合(括号内一个元素分别和其他括号内元素组合)
echo $((2#11010))                     # 二进制转10进制
echo aaa | tee file                   # 打印同时写入文件 默认覆盖 -a追加
echo {1..10}                          # 打印10个字符
printf '%10s\n'|tr " " a              # 打印10个字符
pwd | awk -F/ '{ print $2 }'          # 返回目录名
tac file |sed 1,3d|tac                # 倒置读取文件  # 删除最后3行
tail -3 file                          # 取最后3行
outtmp=/tmp/$$`date +%s%N`.outtmp     # 临时文件定义
:(){ :|:& };:                         # 著名的 fork炸弹,系统执行海量的进程,直到系统僵死
echo -e "\e[32m颜色\e[0m"             # 打印颜色
echo -e "\033[32m颜色\033[m"          # 打印颜色
echo -e "\033[0;31mL\033[0;32mO\033[0;33mV\033[0;34mE\t\033[0;35mY\033[0;36mO\033[0;32mU\e[m"    # 打印颜色

 

 

 

 

if语句的使用

 

一、比较数字的大小----双括号

 

 

 

 

 

二、判断目录是否存在   -d

 

 

三、判断文件是否存在

 

 

四、多个if判断

 

 

 

<style></style>

 逻辑运算符解析:

逻辑运算符解析:
-f     判断文件是否存在 eg: if [ -f filename ]
-d     判断目录是否存在 eg: if [ -d dir     ]
-eq    等于 应用于:整型比较
-ne    不等于 应用于:整型比较
-lt    小于 应用于:整型比较
-gt    大于 应用于:整型比较
-le    小于或等于 应用于:整型比较
-ge    大于或等于 应用于:整型比较
-a    双方都成立(and) 逻辑表达式 –a 逻辑表达式
-o    单方成立(or) 逻辑表达式 –o 逻辑表达式
-z    空字符串

 

标签:语句,脚本,shell,编程,echo,sh,033,bash
来源: https://www.cnblogs.com/-citywall123/p/13190159.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有