shell之常用的一些命令

前言

自我感觉学习shell要常用man,--help这样挺方便去写的,光靠熟练远远不够的

bash;gutter:false;</p> <h1>!/bin/bash</h1> <p>wget命令 我用到最多就是请求http网站啦,一般很少加参数 set -x url(){ timeout=6 fail=0 success=0 while true do wget --timeout=$timeout --tries=1 https://www.cnblogs.com/zqxFly/ -q -o /dev/null if [ $? -ne 0] then let fail=fail+1 else let success+=1 fi if [ $success -ge 1] then echo success exit 0 fi if [ $fails -ge 2] then ttry="sys is dowm" echo $ttry|tee|mail -s "https://www.cnblogs.com/xxx" exit 2 fi done } url</p> <p>wget 接http link</p> <p>expr 命令是一个手工命令行计数器 1.结合match进行整数判断 if [[<code>expr match "$1" "[0-9] [0-9]*$"</code> == 0 ] ] then echo "$1 is not a num" else echo "$1 is a num" fi 2.判断字符 expr $1 + 1 >/dev/null 2>&1 [ $? -eq 0 ] &&echo int || echo chars while true do read -p "hello adol":a expr $a + 0 >/dev/null 2>&1 [ $? -eq 0 ] && echo int || echo chars done 3.整数运算[ $# -ne 2 ] &&{ echo $"usage $0 num1 num2" exit 1 } a=$1 b=$2 expr $a + $b + 110 &>/dev/null if [ $? -ne 0 ] then echo "you must two nums" exit fi echo "a-b=$(($a-$b))" echo "a+b=$(($a+$b))" echo "a<em>b=$(($a</em>$b))" echo "a/b=$(($a/$b))" echo "a<strong>b=$(($a</strong>$b))" echo "a%b=$(($a%$b))"</p> <p>bc 命令是任意精度计算器语言 bc(选项)(参数) 通过管道符 echo "1.11+2" | bc 直接输入bc</p> <p>read命令用于从标准输入读取数值</p> <pre><code> read -p "name:" echo "shuchu $name" if read -t 5 -p "ipnut website name:" then echo "输入网站名 $website" else echo "\n超时了" fi exit 0 ;gutter:false;
参数说明:

  • -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。
  • -d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。
  • -p 后面跟提示信息,即在输入前打印提示信息。
  • -e 在输入的时候可以使用命令补全功能。
  • -n 后跟一个数字,定义输入文本的长度,很实用。
  • -r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了。
  • -s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。
  • -t 后面跟秒数,定义输入字符的等待时间。
  • -u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的。

Original: https://www.cnblogs.com/zqxFly/p/15775694.html
Author: 测试小张
Title: shell之常用的一些命令

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585366/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • CentOS7安装MySQL5.7并配置账户等

    注意: 有的Centos版本默认安装了mariadb, 可以先将其卸载 检查mariadb是否安装 yum list installed | grep mariadb 卸载mari…

    Linux 2023年6月6日
    077
  • DHCP欺骗攻击—模拟

    实验拓扑: 基本配置: DHCP服务器配置: 客户端配置: 攻击者配置: 使用云与kail桥接 云: kail虚拟机配置: 为kali linux也添加一张网卡,桥接到VMnet1…

    Linux 2023年6月13日
    094
  • [20220106]ora-00600 kokasgi1.txt

    [20220106]ora-00600 kokasgi1.txt –//上午看了https://www.xifenfei.com/2022/01/2022-first-…

    Linux 2023年6月13日
    090
  • sftp配置

    有很多方法,可实现在网络上分享文件。其中之一为FTP协议。但FTP通过明文传输数据,不安全。幸运的是,SSH协议族中包含了用于传输文件的SFTP协议。 事实上,任何远程主机的用户,…

    Linux 2023年6月14日
    0112
  • Docker 技术系列之安装Redis单机版和集群版

    欢迎关注刘哥讲技术。上一节我们讲到通过docker安装了多台的mysql,很简单,那么我们这一节,利用 Docker 在一台机器上部署多个 Redis 实例。 那么redis是什么…

    Linux 2023年5月28日
    086
  • redis实战

    转载于:https://blog.csdn.net/piaoslowly/article/details/81563579 redis简介 Redis 是一个开源的 使用 ANSI…

    Linux 2023年5月28日
    095
  • 2017年腾讯 秋招软件开发笔试编程题回忆版

    2017 年腾讯 秋招软件开发笔试编程题回忆版 (所有题目大致描述如下,并非完整的题目回忆,但意思大致一样) 1、又一个魔法城市,城市里面有n个魔法城堡,序号为0,1,2。。。n-…

    Linux 2023年6月6日
    098
  • JVM学习 类加载子系统

    JVM 哔哩哔哩 尚硅谷视频 宋红康老师 Java代码执行流程 简图 详细图 1、类加载子系统 类加载器子系统的作用 类加载器子系统负责从文件系统或者网络中加载Class文件,cl…

    Linux 2023年6月7日
    0104
  • Canal实时解析mysql binlog数据实战

    一、说明 通过canal实时监听mysql binlog日志文件的变化,并将数据解析出来 二、环境准备 1、创建maven项目并修改pom.xml配置文件 com.alibaba….

    Linux 2023年6月13日
    078
  • nginx源码编译安装(详解)

    nginx编译安装 编译安装大致步骤: 安装步骤: 官网下载合适的版本,建议选择稳定版本。 官网地址:https://nginx.org wget https://nginx.or…

    Linux 2023年5月27日
    0143
  • Spring中毒太深,离开了Spring,我居然连最基本的接口都不会写了¯_(ツ)_/¯

    前言 众所周知,Java必学的框架其中就是SSM,Spring已经融入了每个开发人员的生活,成为了不可或缺的一份子。 随着 Spring 的崛起以及其功能的完善,现在可能绝大部分项…

    Linux 2023年6月13日
    084
  • 对比powershell,点评:《七年老运维实战中的 Shell 开发经验总结》

    前言: 《七年老运维实战中的 Shell 开发经验总结》是不错的帖子,建议shell用户搜看。 点评:《七年老运维实战中的 Shell 开发经验总结》 shell除了上述问题外,还…

    Linux 2023年6月14日
    091
  • 每周一个linux命令(nano入门级使用)

    基础环境 nano命令介绍 nano是一个字符编辑软件,类似于vi/vim,比vi/vim简单方便快捷。 安装nano 输入 nano命令,提示未找到此命令,则需要安装,否则无需安…

    Linux 2023年6月8日
    093
  • SpringBoot 2.x 开发案例之 Shiro 整合 Redis

    前言 前段时间做了一个图床的小项目,安全框架使用的是 Shiro。为了使用户 7×24小时访问,决定把项目由单机升级为集群部署架构。但是安全框架 shiro只有单机存储的 Sess…

    Linux 2023年5月28日
    0111
  • macOS Catalina new Shell,解决 The default interactive shell is now zsh

    The default interactive shell is now zsh. To update your account to use zsh, please run ch…

    Linux 2023年5月28日
    0146
  • 【设计模式】Java设计模式-命令模式

    Java设计模式 – 命令模式 😄生命不息,写作不止🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🏆 一个有梦有戏的人 @怒放吧德德🌝分享学习心得,…

    Linux 2023年6月6日
    082
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球