shell脚本--符号篇

shell执行脚本



shell是批处理语言(一次处理批量任务)

shell写的都是文本文件,不能让操作系统运行它,而是fork创建子进程, 子进程程序替换shell的解释器,再把这个文本文件当做命令行参数传给bash解释器,子进程一行一行读取命令,遇到一行创建一个子进程,所以执行上述脚本相当于执行程序。


shell变量


env显示环境变量

export将本地变量导入到环境变量

set显示环境变量和本地变量

unset删除已定义的本地变量和环境变量

变量引用


shell变量不需要明确定义类型,shell变量的值都是字符串;如,定义value=32,表示

value的值是字符串32,而不是整数

shell变量不需要先定义后使用,若对一个没有定义的变量取值,则值为空字符串


文件名代换


通配符 *:匹配0个或多个任意字符

?:匹配一个任意字符

[ 若干字符 ] :匹配方括号中任意一个字符的一次出现


转移字符\ & 单引号 & 双引号


转移字符 \  :用于去除紧跟在其后的单个字符的特殊含义

例如:创建一个$ $ 文件

例:创建一个-file和删除-file

单引号 & 双引号:都是字符串的界定符,而不是字符的界定符

单引号用于保持引号内所有字符的字面值,即使括号内的 \ 和回车也不例外,但是字符串中不能出现单引号,若引号没有配对就回车,shell会给出续行提示符,要求用户将引号配对上

双引号用于保持引号内所有字符的字面值,即使回车也不例外

命令代换 ` ` 或$()



` `也是一条命令,shell先执行该命令,然后将输出结果立刻代换到当前命令行中

例如: 定义一个变量存放date命令的输出:

` `

$()

算数代换$()

时间: 2024-08-10 02:10:55

shell脚本--符号篇的相关文章

shell脚本第二篇——将指定目录下大于200K的文件移动到/tmp下

shell脚本第二篇--将指定目录下大于200K的文件移动到/tmp下 # vim  /tmp/files.sh #!/bin/bash #将指定目录下大于200K的文件移动到/tmp下 read  -p  "请输入您要将目录下大于200K文件移动的目录路径:" $1 for FILE in `ls  $1` do if [ -f  $FILE ] ; then if [ `ls -l $FILE | awk `{print $5}` -gt 204800 ] ; then mv  $

shell脚本进阶篇(上)

shell脚本是我们学习运维的难点,本篇内容简单举例shell脚本的进阶上篇,有任何技术上的指导,知识上的不足都欢迎指出点明. 流程控制 过程式编程语言: 顺序执行   选择执行  循环执行 条件选择if语句 ? 单分支 if 判断条件;then 条件为真的分支代码 fi 双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi 多分支 if 判断条件1; then 条件为真的分支代码 elif 判断条件2; then 条件为真的分支代码 elif 判断条件3;

shell 脚本-符号-基础语法

为了便于识别  建议 以.sh 结尾 shell脚本 可以放上所有的命令行的指令(源于bash) shell脚本 是 解释型语言      c/c++ 是编译型语言 下面用到的 shell代码sh_1.sh #!/bin/bash cd ../ ls pwd 解释型脚本的执行过程: script.sh 是文本文件,根本没有代码段和 _start  函数 , exec 怎么执行. 解释: Shell会fork 一个子进程并调用 exec执行 ./script.sh这个程序,exec 系统调用应该把

shell脚本--语法篇

条件测试 1.条件测试test或[ ](测试条件是真是假) 例如:字符串比较 #!/bin/bashread datatest "$data" == "hello" //注意等号两边有空格  或者 [ $data == "hello" ]echo $? //上一条命令的运行结果,成功为0,失败为1 例如:两数比较大小 #!/bin/bashdata=200[ $data -eq 100 ]echo $?[ $data -lt 100 ]echo

linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)

Shell 脚本基础 1.变量 什么是变量 #a=1 # echo $a 1 变量:可以变化的量 1.2变量名称注意事项 变量名不能以数字开头 不能与系统中已有的环境变量重名,尽量不要全部使用大写,尽量不要使用"_"下划线开头 最好做到见名知意 不能使用程序中的保留字,列如if,for等 1.3变量类型 字符型 数值型 整型浮点型 布尔型 条件是和否 #$echo $a 引用 abc 撤销 unset +(变量名)a 1.4变量操作 * 设置变量 * 引用变量 * 撤销变量 单引号和双

linux之shell脚本学习篇一

此文包含脚本服务请求,字符串截取,文件读写内容,打印内容换行. #!/bin/bashretMsg="";while read LINEdo        echo "this is text: $LINE";        retMsg=`/usr/bin/curl -o test3.log -w %{http_code}"\\n"  $LINE`; #http请求, 响应内容写文件以及响应状态码        echo "Retut

Shell脚本编程篇

#!/bin/bash #斐波那契数列 #不要用递归,深度大于30就老火了. function fun_test() { if [ $1 -lt 3 ];then echo 1 return fi sum1=1 sum2=1 let count=$1-2 sum=0 while [ $count -gt 0 ];do let count-- let sum=sum1+sum2 let sum1=sum2 let sum2=sum done echo $sum } val=$(fun_test $

Shell脚本(条件测试&IF判断)——理论篇2

Shell脚本理论篇2--条件测试&IF判断 条件测试 上一篇博客我们提到了预定义变量中有个$?变量用于判断命令是否执行成功.那么如何使用呢? 这时候就需要专门的测试工具--test命令,对特定条件进行测试,并使用$?对返回值进行判断,其命令形式如下: test 条件表达式 & [ 条件表达式 ] //更为常用 注意: 中括号"["和"]"与条件表达式之间均需要使用空格隔开,否则会出现错误!! 一.文件测试 格式: [ 操作符 文件或目录 ] 常用操

shell脚本 入门 —— 符号篇

shell Shell就是一个命令行解释器,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive). Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一 个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲 命令.Shell脚本和编程语言很相似,也有变量和流程控制语句,包括循环和分支.但Shell脚本是解释执行的,不需 要编译,Shell程序从脚本中一行一行读取