shell编程基础 一、编写shell脚本[rootlocalhost ~]# vim jishu.sh#!/bin;bash#Filename : jichu.sh#Auther : name#Date 2019-09-01二、执行shell脚本相对路径绝对路径sh 或 bash 脚本路径source 或.脚本路径例[rootlocalhost ~]# source jishu.sh #在当前shell下执行其它均在子shell中执行 我的第一个shell程序。。。 [rootlocalhost ~]# . jishu.sh 我的第一个shell程序。。。 [rootlocalhost ~]# sh jishu.sh 我的第一个shell程序。。。 [rootlocalhost ~]# bash jishu.sh 我的第一个shell程序。。。 注以下方式需要给脚本加上执行权限 [rootlocalhost ~]# jishu.sh 我的第一个shell程序。。。 [rootlocalhost ~]# /root/jishu.sh 我的第一个shell程序。。。三、重定向操作与管道操作管道操作符“|”作用将左侧命令的输出结果作为右侧命令的执行对象例[rootlocalhost ~]# [rootlocalhost ~]# cat /etc/passwd | grep ^root root:x:0:0:root:/root:/bin/bash类型设备文件文件描述编号默认设备标准输入/dev/stdin0键盘标注输出/dev/stdout1鼠标标注错误输出/dev/stderr2显示器类型操作符用途重定向输入从文件中读取数据重定向输出将数据写入文件中 为追加标注错误输出2将错误信息写入文件中 为追加混合输出将所有信息写入文件中四、变量自定义变量用户自己定义的变量环境变量系统定义的变量可以使用env set命令查看使用export发布全局变量RANDOM例[rootlocalhost ~]# env XDG_SESSION_ID1 HOSTNAMElocalhost.localdomain SELINUX_ROLE_REQUESTED TERMxterm SHELL/bin/bash HISTSIZE1000位置变量系统预先定义好的变量$1-$9shell脚本最多处理九个参数预定义变量bash中内置一类变量不能直接修改$* $脚本要处理的所有参数$0脚本名称$?命令或脚本执行状态码$#脚本处理的参数个数定义与输出定义格式变量名变量双引号允许使用$字符引用其他变量单引号禁止引用其他变量$视为普通字符反撇号$()提取命令执行结果输入输出输入格式read -p “提示” 变量名输出格式echo $变量名变量的算数运算expr$(())$[]bc计算器 scale小数位数例[rootlocalhost ~]# expr 3 4 7 [rootlocalhost ~]# echo $((7 * 9 )) 63 [rootlocalhost ~]# echo $[9 - 1] 8 [rootlocalhost ~]# echo scale2 ; 9 / 2 |bc 4.50