目录:

1.1 shell基础返回顶部

  1、系统变量

(1)新建脚本文件welcome.sh,用来输出各种监控信息。
[root@localhost ~]# vi /root/welcome.sh
#!/bin/bash
echo "已开启进程数:$(ps aux | wc -l)"
echo "已登录用户数:$(who | wc -l)"
echo "根分区磁盘使用率:$(df -h | grep "/$" | awk '{print $4}')"
[root@localhost ~]# chmod +x /root/welcome.sh (2)修改/root/.bash_profile文件,调用welcome.sh脚本程序。
[root@localhost ~]# vi /root/.bash_profile
# 在文件末尾添加这条语句
/root/welcome.sh (3)使用root用户重新登录,验证欢迎脚本的输出信息。
Last login: Mon Feb 26 14:52:41 2018 from 1.1.1.100
已开启进程数:183
已登录用户数:4
根分区磁盘空闲:7.4G

编写登录欢迎脚本

1.2 重定向与管道操作返回顶部

  1、重定向输出  

    [root@localhost ~]# uname  > kernel.txt
    [root@localhost ~]# cat kernel.txt
    [root@localhost ~]# uname -r >> kernel.txt                    \\追加并保存,不覆盖原有的数据
    [root@localhost ~]# cat kernel.txt

  2、重定向输入

    [root@localhost ~]# vi pass.txt
    添加
    123456
    [root@localhost 桌面]# useradd aaa
    [root@localhost ~]# passwd --stdin aaa <pass.txt \\selinux要设置为disabled

1.3 使用shell变量 返回顶部

  1、自定义变量

      [root@localhost ~]# product=benet
      [root@localhost ~]# version=5.0

  2、查看和引用变量的值

      [root@localhost ~]# echo $product
      benet
      [root@localhost ~]# echo $product $version
      benet 5.0
      [root@localhost ~]# echo $product4.5                                 \\错误的引用
      .5
      [root@localhost ~]# echo ${product}4.5
      benet4.5

  3、变量赋值的特殊操作

    1.  双引号(可以引用其他变量的值)

      [root@localhost ~]# benet=benet 5.0 \\错误的赋值
      bash: 5.0: command not found
      [root@localhost ~]# benet="benet 5.0"
      [root@localhost ~]# echo $benet
      [root@localhost ~]# accp="accp $version"
      [root@localhost ~]# echo $accp

    2. 单引号(任何字符都当做普通字符)

      [root@localhost ~]# accp='accp $version'
      [root@localhost ~]# echo $accp

    3. 反撇号(必须是可执行的命令)

      [root@localhost ~]# ls -lh `which useradd`
      [root@localhost ~]# DenyList=`grep -v "^#" /etc/profile`
      [root@localhost ~]# echo $DenyList
      [root@localhost ~]# rpm -qc $(rpm -qf $(which useradd))

  4、数值变量的运算

      [root@localhost ~]# x=35
      [root@localhost ~]# y=16
      [root@localhost ~]# expr $x+$y
      35+16
      [root@localhost ~]# expr $x + $y
      51
      [root@localhost ~]# expr $x - $y
      19
      [root@localhost ~]# expr $x \* $y
      560
      [root@localhost ~]# expr $x / $y
      2
      [root@localhost ~]# expr $x % $y
      3
      [root@localhost ~]# Ycube=`expr $y \* $y \* $y`
      [root@localhost ~]# echo $Ycube
      4096

1.4 特殊的shell变量 返回顶部

  1、位置变量  

      [root@localhost ~]# vi adder2num.sh
      #!/bin/bash
      SUM=`expr $1 + $2`
      echo "$1 + $2 = $SUM"

      [root@localhost ~]# ./adder2num.sh 12 14
      12 + 14 = 26

      ls        -lh        /root
      $0       $1         $2

  2、shell中常用预定义变量 

      $#      (命令行中位置参数个数)

      $*       (所有位置参数内容)

      $?      (前一条命令返回状态)

      $0       (当前执行脚本名称)

1.5 read与echo使用比较返回顶部

echo "使用-p参数完成多个变量赋值:"
read -p "请输入三个数字或字符:(用空格隔开)" num1 num2 num3 echo "num1="$num1
echo "num2="$num2
echo "num3="$num3

echonum.sh

  [root@localhost bbb]# ./echonum.sh
  使用-p参数完成多个变量赋值:
  请输入三个数字或字符:(用空格隔开)22 33 44
  num1=22
  num2=33
  num3=44

01: shell基本使用的更多相关文章

  1. shell编程01—shell基础

    01.学习shell编程需要的知识储备 1.vi.vim编辑器的命令,vimrc设置 2.命令基础,100多个命令 3.基础.高端的网络服务,nfs,rsync,inotify,lanmp,sersy ...

  2. 【转】shell 教程——01 Shell简介:什么是Shell,Shell命令的两种执行方式

    Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...

  3. 01 shell编程规范与变量

    前言: 大家对shell脚本应该都不算陌生了,如果突然问你什么是shell脚本?是干什么用的?由什么组成以及怎么使用?变量的概念是什么?作用范围是什么?变量间的算术运算怎么表示?你能很容易答出来吗 本 ...

  4. linux系列之-—01 shell编程笔记

    一.特殊变量($0.$1.$2. $?. $# .$@. $*) shell编程中有一些特殊的变量可以使用.这些变量在脚本中可以作为全局变量来使用. 名称 说明 $0 脚本名称 $1-9 脚本执行时的 ...

  5. Shell 01 shell概述

    1.查看shells:/etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin / ...

  6. 01 . Shell详细入门介绍及简单应用

    Shell简介 Shell 是一个 C 语言编写的脚本语言,它是用户与 Linux 的桥梁,用户输入命令交给 Shell 解释处理Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输 ...

  7. 01 shell编程之变量定义

    一.SHELL介绍 ㈠ 什么是shell脚本? 简单来说就是将需要执行的命令保存到文本中,按照顺序执行.它是解释型的,意味着不需要编译. 若干命令 + 脚本的基本格式 + 脚本特定语法 + 思想= s ...

  8. Linux shell入门基础(六)

    六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...

  9. Java如何滚动几个小时和几个月?

    在Java中,如何滚动几个小时和几个月? 本示例展示了如何使用calender类的roll()方法滚动月(不改变年)或小时(不更改月或年). package com.yiibai; import ja ...

随机推荐

  1. ZOJ 3948 - Marjar Cola

    让我回想起了小学的时候,空瓶换饮料还能向别人借一个空瓶喝了再还回去的神奇问题…… 开始时思考,特判一下a=1或者b=1的情况为INF就可以了,然后发现2 2 1 2这样的样例也是能够喝到无穷多瓶饮料的 ...

  2. intel笔记本cpu型号后缀详解(M,U,QM,MQ,HQ,XM)

    M:笔记本专用CPU,一般为双核,M前面一位数字是0,意味着是标准电压处理器,如果是7,则是低电压处理器. U:笔记本专用低电压CPU,一般为双核,U前面一位数字为8,则是28W功耗的低压处理器(标准 ...

  3. MySQL复制原理

    mysql从3.23开始提供复制功能,复制指将主库的ddl和dml操作通过binlog文件传送到从库上执行,从而保持主库和从库数据同步.mysql支持一台主库同时向多台从库复制,从库同时也可以作为其他 ...

  4. oracle11gR2 win7_32位客户端连接虚拟机中oracle11gR2 win7_32位服务器方法

    改写服务器中的监听文件(listener.ora和tnsnames.ora) “ora-12541:TNS:无监听程序”问题的解决 ora-12541:TNS:无监听程序,出现这种错误的时候,可以尝试 ...

  5. 《SEO在网页制作中的应用》视频笔记

    学习了慕课网<SEO在网页制作中的应用>视频,今天将里面的知识整理一下. 一.SEO介绍 1.  搜索引擎工作原理 搜索引擎现在主流有百度.谷歌.360,他们都有庞大的搜索引擎数据库,每个 ...

  6. ES6 ruanyifeng, shim polyfill

    http://www.cnblogs.com/upup2015/p/7927485.html 一个等号是赋值操作,==先转换类型再比较,===先判断类型,如果不是同一类型直接为false npm in ...

  7. m4a 转 wav

    https://blog.csdn.net/zjm750617105/article/details/80148473 sox 不行, ffmpeg 很麻烦, 考虑用 avconv 很简单: 安装: ...

  8. Java8 Collectors.toMap的坑

    按照常规思维,往一个map里put一个已经存在的key,会把原有的key对应的value值覆盖,然而通过一次线上问题,发现Java8中的Collectors.toMap反其道而行之,它默认给抛异常,抛 ...

  9. google kaptcha 验证码的使用

    这边演示下idea+maven+servlet实现谷歌的kaptcha验证码的使用: web.xml, 这边主要是kaptcha验证器, <!DOCTYPE web-app PUBLIC &qu ...

  10. BZOJ5056 OI游戏 最短路+组合数学

    链接接接接接! 正解:最短路+小学奥数 乘法原理 解题报告: 首先读懂题意(,,,我觉得我吃枣死于语文太差读不懂题目QAQ 大意就是港,要求从第一个点到其他各点的长度都是最短的方案有多少个(ummm, ...