Quartz 线程 Jetson Nano highcharts tfs sqlalchemy combobox camera GMU vue代码规范 svn默认安装路径 查看kafka消费情况 android调试工具 yml文件注释 flutter项目案例 python for循环 python运行环境 python读文件 python编程工具 python自学入门 java抽象 java基础语言 java文档 java中new java输出 python教程视频 redis入门指南 fdisk下载 renderpartial geartrax 华为杂志锁屏怎么设置 召唤加点90刷图加点 小米账号怎么退出 dos命令大全及用法 studio3t csshover quicktime专业版 officerecovery 苹果手机哪个版本最好 闲鱼怎么加好友
当前位置: 首页 > 学习教程  > 编程语言

shell初步

2021/2/13 20:22:35 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

shell命令初步0.前提1.自定义变量2.环境变量3.预设变量4.脚本变量的特殊用法5.条件测试语句文件测试字符串测试数字测试复合测试多重条件判定6.控制语句if控制语句case控制语句for控制语句while控制语句until控制语句7.函数0.前提 列出环境变量:env 显示信息&#…

shell命令初步

  • 0.前提
  • 1.自定义变量
  • 2.环境变量
  • 3.预设变量
  • 4.脚本变量的特殊用法
  • 5.条件测试语句
    • 文件测试
    • 字符串测试
    • 数字测试
    • 复合测试
    • 多重条件判定
  • 6.控制语句
    • if控制语句
    • case控制语句
    • for控制语句
    • while控制语句
    • until控制语句
  • 7.函数

0.前提

列出环境变量:env
显示信息:echo
向文本中追加信息:echo “内容” >> file
统一文本格式:set ff=unix
添加执行权限:chmod +x file
执行脚本:(1)./file (2)bash file
使用当前shell执行脚本:(3). file (4) source file
文件开头#!/bin/bash

1.自定义变量

定义变量:变量名=变量值
引用变量:$变量名
显示变量:echo $变量名
清除变量:unset 变量名
从键盘读入:read 变量名
定义只读变量:readonly 变量名=变量值
定义环境变量:export 变量名=变量值

2.环境变量

HOME:用于保存注册目录的完整路径名
PATH:用于保存用冒号分隔的目录路径名;shell将按照PATH变量中给出的顺序搜索这些目录,找到的第一个与命令名称一致的可执行文件执行
HOSTNAME:主机名
SHELL:默认的shell命令解析器
LOGNAME:此变量保存登录名
PWD:当前工作目录的绝对路径名

3.预设变量

$#:传给shell脚本参数的数量
$*:传给shell脚本参数的内容
$1 $2 $3:运行脚本时传递其给的参数,用空格隔开
? : 命 令 执 行 后 返 回 的 状 态 " ?:命令执行后返回的状态 " ?"?":用于检查上一个命令执行是否正确(在Linux中,命令退出状态为0表示该命令正确执行,任何非0值表示命令出错)
$0:当前执行的进程名
: 当 前 进 程 的 进 程 号 " :当前进程的进程号 " "":变量最常见的用途是用作临时文件的名字以保证临时文件不会重复

4.脚本变量的特殊用法

“”(双引号):包含的变量会被解释
‘’(单引号):包含的变量会当做字符串解释
``(反引号):反引号中的内容作为系统命令,并执行其内容,可以替换输出为一个变量
\ 转义字符:
\n \t \r \a 等echo命令需加-e转义
( 命令序列 ):由子shell来完成,不影响当前shell中的变量
{ 命令序列 }:在当前shell中执行,会影响当前变量

5.条件测试语句

test命令:用于测试字符串、文件状态和文字
test命令格式:test condition 或[ condition ]
shell脚本中的条件测试如下:
文件测试、字符串测试、数字测试、复合测试

文件测试

test file_operator file
[ file_operator file ]
其中file_operator可以是:
-e 是否存在 -d 是目录 -f 是文件
-r 可读 -w 可写 -x 可执行
-L 符号连接 -c 是否字符设备
-b 是否块设备 -s 文件非空

字符串测试

test str_operator “str”
test “str1” str_operator “str2”
[ str_operator “str” ]
[ “str1” str_operator “str2” ]
其中str_operator可以是:
= 两个字符串相等 != 两个字符串不相等
-z 空串 -n 非空串

数字测试

test num1 num_operator num2
[ num1 num_opertaor num2 ]
num_operator可以是:
-eq 数值相等
-ne 数值不相等
-gt 数1大于数2
-ge 数1大于等于数2
-le 数1小于等于数2
-lt 数1小于数2

复合测试

命令行执行控制:
&&: 并
||: 或

多重条件判定

-a 两种状况同时成立
test file_operator file -a file_operator file
-o 两种状况任何一个成立
test file_operator file -o file_operator file
! 相反状态
test !file_operator file

6.控制语句

if控制语句

格式1:
if [条件1];then
执行第一段程序
else
执行第二段程序
fi
格式2:
if [条件1 ];then
执行第一段程序
elif[条件2];then
执行第二段程序
else
执行第三段程序
fi

case控制语句

case $变量名称 in
“第一个变量内容”)
程序段1
;;
“第二个变量内容”)
程序段2
;;
*)
其他程序段
exit 1
esac

for控制语句

格式1:
for (( 初始值; 限制值; 执行步阶 ))
do
程序段
done

declare是bash的一个内建命令,可以用来声明shell变量、设置变量的属性
declare可以写作typeset
declare -i s 代表强制把s变量当做int型参数运算
格式2:
for var in con1 con2 con3 …
do
程序段
done

while控制语句

while [condition]
do
程序段
done
当condition成立时进入循环,直到condition不成立时退出循环

until控制语句

until [condition]
do
程序段
done
与while相反

7.函数

格式1:
函数名(){
命令…
}
格式2:
function 函数名(){
命令…
}
调用函数的格式为:
函数名 param1 param2
使用参数同在一般脚本中使用特殊变量
$1 $2 … $9 一样
函数可以使用return提前结束并带回返回值:
return 从函数中返回,用最后状态命令决定返回值
return 1 有错误返回
return 0 无错误返回

调用其他脚本的函数
source “file”


本文链接: http://www.dtmao.cc/news_show_700461.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?