美文网首页
shell文件描述符,脚本介绍,判断表达式,逻辑结构

shell文件描述符,脚本介绍,判断表达式,逻辑结构

作者: 快去学习不然怎么去看aimer | 来源:发表于2019-08-06 09:28 被阅读0次

df -i 查看每个分区的inode的个数

/var/log/message 排错首先看这个
grep -e 'root' -e'sshd' /etc/passwd

文件描述符

0   默认是键盘,也可以是文件    输入文件---标准输入
1   默认是屏幕,也可以是文件或其他命令的输出    输出文件---标准输出
2   默认是屏幕,也可以是文件    错误输出文件---标准错误输出

2>&1 表示把 2 标准错误输出 重新输出到文件描述符1(即标准正确输出)中
command<&n 把文件描述符 n 作为标准输入
command >&n   把标准输出重定向到文件描述符中
exec n<&-    关闭文件描述符 n

脚本介绍

脚本编写规范:
script 的功能;
script 的版本信息;
script 的作者与联络方式;
script 的版权宣告方式;
script 的 History (历史纪录);
script 内较特殊的指令,使用“绝对路径”的方式来下达;
script 运行时需要的环境变量预先宣告与设置。

#!/bin/bash
#功能
#计算任意两个数的乘积
#Auther:rourou
#version:v1.0
#Date:2019/08/05
#history:one 

read -p "one number:" firstnu
read -p "second number:" secnu
total=$((${firstnu}*${secnu}))
echo "the reault of :${total}"

执行脚本的方式

  1. sh one.sh 用子shell执行该shell脚本,父进程变量无值
  2. . one.sh 在父进程环境里只执行shell脚本,父进程变量有值
  3. ./one.sh 相当于在调用父进程bash执行脚本,父进程变量无值 必须有执行权限

script 的默认变量

$# :代表后接的参数“个数”,以上表为例这里显示为“ 4 ”;
$@ :代表 "$1" "$2" "$3" "$4" 之意,每个变量是独立的(用双引号括起来);

判断表达式

1.关于文件名的文件类型判断:

[root@rourou ~] test -e one.sh    #判断文件名是否存在
[root@rourou ~] echo $?             #判断上一条指令是否执行成功
0
-f  判断文件是否存在
-d  该文件名是否存在且是否为目录

与上面是类似的:

test2.jpg test3.jpg test4.jpg test5.jpg

判断符号

[ "$a1" == "$a2" ]   两边必须有空格,变量用双引号引起来

逻辑结构

if判断

if···;then···fi

if [ 条件判断式 ];then
    当条件判断式成立时,可以进行的命令。
fi   # 结束这个判断语句结构

if···;then... else....fi

if [ 条件判断式 ]; then
    当条件判断式成立时,可以进行的指令工作内容;
else
    当条件判断式不成立时,可以进行的指令工作内容;
fi

if ... ;then···elif ...;then··· else ... fi

if [ 条件判断式一 ]; then
    当条件判断式一成立时,可以进行的指令工作内容;
elif [ 条件判断式二 ]; then
    当条件判断式二成立时,可以进行的指令工作内容;
else
    当条件判断式一与二均不成立时,可以进行的指令工作内容;
fi

相关文章

网友评论

      本文标题:shell文件描述符,脚本介绍,判断表达式,逻辑结构

      本文链接:https://www.haomeiwen.com/subject/fdkpdctx.html