当前位置: 首页 > news >正文

网站建设教学点wordpress滑块验证码

网站建设教学点,wordpress滑块验证码,做慕斯蛋糕那个网站有视频,外贸网站建设 公司价格目录 一.Shell 1.shell 的概念 2.Linux 中有哪些 Shell #xff1f; 二.Shell 脚本概述 1.Shell 脚本的概念 2.shell 脚本应用场景 3.shell 脚本的作用 三.Shell脚本的构成与执行 1.Shell脚本的构成 2.Shell脚本的执行 四.重定向与管道操作 1.交互式硬件设备 2.重…目录 一.Shell  1.shell 的概念 2.Linux 中有哪些 Shell 二.Shell 脚本概述 1.Shell 脚本的概念 2.shell 脚本应用场景 3.shell 脚本的作用 三.Shell脚本的构成与执行 1.Shell脚本的构成 2.Shell脚本的执行 四.重定向与管道操作 1.交互式硬件设备 2.重定向操作 3.操作实例 4.管道操作符号 | 五.Shell 变量的作用与类型 1.变量的作用: 2.变量的类型 (1)自定义变量由用户自己定义、修改和使用 (2)特殊变量 3.设置变量的作用范围  六.变量的运算 1.整数变量的运算 2.浮点数变量的运算 七.特殊的 Shell 变量 1.环境变量 2.只读变量 3.位置变量 4.预定义变量 拓展date 的用法 一.Shell  1.shell 的概念 Shell 是一个特殊的应用程序它介于操作系统内核与用户之间充当了一个“翻译官”的角色负责接收用户输入的操作指令命令并进行解释将需要执行的操作传递给内核执行并输出执行结果。 2.Linux 中有哪些 Shell [rootlocalhost ~]# cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh /bin/csh shUNIX最初使用的 shell已经被bash所替换。 bash基准于GNU的框架下发展出的Shell是 sh 的扩展。 csh语法有点类似于c语言的Shell。 tcsh整合了csh提供更多的功能。 nologin奇怪的shell这个shell可以让用户无法登录主机。 注意 最常用的就是bash、tcsh、csh、sh、nologin这些shell都是依据Linux发展者的不同所创造出的不同版本。 bash/bin/bash是目前大多数 Linux 版本采用的默认 Shell。 为什么系统上合法的Shell要写入/etc/shells这个文件呢这是因为系统某些服务运行过程中会去检查用户能够使用的Shell而这些shell的查询就是借由/etc/shells这个文件。 用户什么时候可以取得shell来工作用户默认会取得哪一个shell当用户登录的时候系统就会给我一个shell让我来用而这个登录取得的Shell就记录在/etc/passwd这个文件内。 二.Shell 脚本概述 1.Shell 脚本的概念 将要执行的命令按顺序保存到一个文本文件 给该文件可执行权限 可结合各种 shell 控制语句以完成更复杂的操作 2.shell 脚本应用场景 重复性操作 交互性任务 批量事务处理 服务运行状态监控 定时任务执行 3.shell 脚本的作用 自动化运维 批量化重复操作可以编写脚本结合计划任务自动周期运行 减轻管理员工作量 提高处理文本文件的速度 避免配置出错 三.Shell脚本的构成与执行 1.Shell脚本的构成 1脚本申明解释器 若第一行为“ #!/bin/bash ”表示此行以下的代码语句是通过 /bin/bash 程序来解释执行 #!/bin/bash为默认解释器。还有其它类型的解释器比如#!/usr/bin/python、#!/usr/bin/expect。 2编写注释信息 以“#”开头的语句表示为注释信息被注释的语句在运行脚本时不会被执行。 3编写执行语句 按照顺序编写要执行的命令语句 4示例 [rootlocalhost opt]# vim 1.sh #创建并写入内容#!/bin/bash #脚本申明解释器#this is a example 2024-05-07 #编写注释信息 cd /boot/ #写入的执行语句 pwd ls -lh vml* 2.Shell脚本的执行 1使用 bash 或 sh 指定脚本文件运行不要求文件必须有 x 执行权限 [rootlocalhost opt]# bash 1.sh /boot -rwxr-xr-x. 1 root root 6.5M 4月 25 16:08 vmlinuz-0-rescue-7629a26e6c83475ab9d3383c007e7f61 -rwxr-xr-x. 1 root root 6.5M 6月 28 2022 vmlinuz-3.10.0-1160.71.1.el7.x86_64 [rootlocalhost opt]# 2使用指定路径的命令来运行脚本要求文件必须有 x 执行权限 [rootlocalhost opt]# chmod x 1.sh #给文件授予执行的权限 [rootlocalhost opt]# ll #查看文件是否有执行权限 总用量 4 -rwxr-xr-x. 1 root root 72 5月 7 17:05 1.sh [rootlocalhost opt]# /opt/1.sh #绝对路径运行文件 /boot -rwxr-xr-x. 1 root root 6.5M 4月 25 16:08 vmlinuz-0-rescue-7629a26e6c83475ab9d3383c007e7f61 -rwxr-xr-x. 1 root root 6.5M 6月 28 2022 vmlinuz-3.10.0-1160.71.1.el7.x86_64[rootlocalhost opt]# ./1.sh #相对路径执行权限 /boot -rwxr-xr-x. 1 root root 6.5M 4月 25 16:08 vmlinuz-0-rescue-7629a26e6c83475ab9d3383c007e7f61 -rwxr-xr-x. 1 root root 6.5M 6月 28 2022 vmlinuz-3.10.0-1160.71.1.el7.x86_64这两种方法是在子shell环境中执行脚本 拓展source 命令 在当前shell环境当中执行文件或脚本中的命令不要求文件有 x执行权限但是会切换到执行命令的目录中会在当前shell环境中执行脚本。 [rootlocalhost opt]# chmod -x 1.sh #去除文件的的x执行权限 [rootlocalhost opt]# ll 总用量 4 -rw-r--r--. 1 root root 72 5月 7 17:05 1.sh[rootlocalhost opt]# source 1.sh #source命令 /boot -rwxr-xr-x. 1 root root 6.5M 4月 25 16:08 vmlinuz-0-rescue-7629a26e6c83475ab9d3383c007e7f61 -rwxr-xr-x. 1 root root 6.5M 6月 28 2022 vmlinuz-3.10.0-1160.71.1.el7.x86_64[rootlocalhost opt]# . 1.sh #.相对于source命令 /boot -rwxr-xr-x. 1 root root 6.5M 4月 25 16:08 vmlinuz-0-rescue-7629a26e6c83475ab9d3383c007e7f61 -rwxr-xr-x. 1 root root 6.5M 6月 28 2022 vmlinuz-3.10.0-1160.71.1.el7.x86_64四.重定向与管道操作 1.交互式硬件设备 类型解释设备文件文件描述编号默认设备标准输入从该设备中接收用户通过键盘输入的信息/dev/stdin0键盘标准输出通过该设备向用户输出数据/dev/stdout1显示器标准错误输出通过该设备报告执行出错信息/dev/stder2显示器 2.重定向操作 类型操作符用途重定向输入从指定的文件中读取数据不是从键盘输入读取重定向输出将输出的结果保存在指定的文件中覆盖原文件将输出的结果追加在指定文件的末尾重定向错误输出2将错误信息保存在指定的文件覆盖原文件内容2将错误信息追加在指定文件的末尾混合输出、将标准输出和标准错误信息都保存在同一个文件中混合追加将正常和错误输出 3.操作实例 1标准输入 [rootlocalhost boot]# passwd test 更改用户 test 的密码 。 新的 密码 #使用键盘输入 无效的密码 密码少于 8 个字符 重新输入新的 密码 passwd所有的身份验证令牌已经成功更新。[rootlocalhost boot]# echo 1234567 | passwd --stdin test #使用--stdin 代替键盘 更改用户 test 的密码 。 passwd所有的身份验证令牌已经成功更新。 2重定向输入   从文件中读取数据交给命令使用 [rootlocalhost opt]# passwd --stdin test password.txt 更改用户 test 的密码 。 passwd所有的身份验证令牌已经成功更新。 3重定向输出 和 重定向追加 [rootlocalhost opt]# echo 123123 password.txt #重定向输出 [rootlocalhost opt]# cat password.txt 123123[rootlocalhost opt]# echo 123456 password.txt #重定向追加 [rootlocalhost opt]# cat password.txt 123123 123456 4重定向错误输出  2  2代表的是标准错误输出中的文件描述编号 [rootlocalhost opt]# ech 123456 password.txt #命令错误会出现报错信息 bash: ech: 未找到命令... [rootlocalhost opt]# ech 123456 2 password.txt #不想报错出现使用 2 保存到文件中 [rootlocalhost opt]# cat password.txt bash: ech: 未找到命令...[rootlocalhost opt]# echo 123456 2 password.txt 123456 #如果命令输入正确会将内容显示到屏幕中且覆盖文件 [rootlocalhost opt]# cat password.txt 内容但是文件不会存入信息因为2只会存放错误信息 [rootlocalhost opt]# 到文件中。 5重定向错误追加 2  [rootlocalhost opt]# ech 123456 2 password.txt #会保存一条错误信息 [rootlocalhost opt]# cat password.txt 一个会覆盖文件内容 bash: ech: 未找到命令...[rootlocalhost opt]# ech 123456 2 password.txt #会追加保存一条错误信息 [rootlocalhost opt]# cat password.txt bash: ech: 未找到命令... bash: ech: 未找到命令...6混合输出 和 混合追加输出 [rootlocalhost opt]# echo 123456 password.txt [rootlocalhost opt]# cat password.txt 123456 [rootlocalhost opt]# echo 123456 password.txt # 和 是一样的效果 [rootlocalhost opt]# cat password.txt 123456[rootlocalhost opt]# ech 123456 password.txt #一个会覆盖文件内容 [rootlocalhost opt]# cat password.txt bash: ech: 未找到命令...[rootlocalhost opt]# echo 123456 password.txt #两个是追加输出 [rootlocalhost opt]# cat password.txt bash: ech: 未找到命令... 123456 拓展混合输出的方式21  将标准输出和错误输出都重定向到标准输出中 命令 文件 21 效果等效于混合输出ls -lh 标准输出 到屏幕 1 -- 屏幕 ls -lh test.txt 重定向输出 到 test.txt 1 -- test.txt 21 错误输出 重定向到 标准输出 2 -- 1 [rootlocalhost opt]# ls -lh password.txt 21 [rootlocalhost opt]# cat password.txt 总用量 8.0K -rw-r--r--. 1 root root 47 5月 7 18:24 1 -rw-r--r--. 1 root root 72 5月 7 17:05 1.sh -rw-r--r--. 1 root root 0 5月 7 18:27 password.txt [rootlocalhost opt]# ls -lyh password.txt 21 [rootlocalhost opt]# cat password.txt ls无效选项 -- y Try ls --help for more information.#无论错误输出或标准输出都标准输出到这个文件中 4.管道操作符号 | 将管道符号“|”左侧的命令输出的结果作为右侧命令的输入处理对象同一行命令中可以使用多个管道。 [rootlocalhost opt]# ss -lntp | grep 22 LISTEN 0 5 192.168.122.1:53 *:* users:((dnsmasq,pid1790,fd6)) LISTEN 0 128 *:22 *:* users:((sshd,pid1202,fd3)) LISTEN 0 128 [::]:22 [::]:* users:((sshd,pid1202,fd4)) 有些命令则需要管道符后面要有xargs命令来执行传递参数如 rm 删除命令 [rootlocalhost opt]# ls /opt/ | rm -rf [rootlocalhost opt]# ll 总用量 4 -rw-r--r--. 1 root root 66 5月 7 18:34 password.txt [rootlocalhost opt]# ls /opt/ | xargs rm -rf [rootlocalhost opt]# ll 总用量 0 五.Shell 变量的作用与类型 1.变量的作用: 用来存放系统和用户需要使用的特定参数(值) 变量名:使用固定的名称由系统预设或用户定义 变量值:能够根据用户设置、系统环境的变化而变化 2.变量的类型 (1)自定义变量由用户自己定义、修改和使用 定义一个新的变量 [rootlocalhost opt]# 123ABCabc #变量名要以字母或者下划线开头 bash: 123ABCabc: 未找到命令... [rootlocalhost opt]# ABC123abc [rootlocalhost opt]# _123abc123456 #字母区分大小写 [rootlocalhost opt]# _123ABC654321 不同的是不一样的变量值[rootlocalhost opt]# echo $_123abc #用echo $符号放在变量名前 123456 就可以查看变量值 [rootlocalhost opt]# echo $_123ABC 654321 [rootlocalhost opt]# echo $ABC123 abc [rootlocalhost opt]# 同时查看多个变量 [rootlocalhost opt]# a123 [rootlocalhost opt]# babc [rootlocalhost opt]# echo $a$b 123abc [rootlocalhost opt]# echo $aabc #无法查看[rootlocalhost opt]# echo ${a}abc #再变量名两边加上大括号之后就可以了 123abc [rootlocalhost opt]# 如果想要两个变量的值进行交换的操作 先准备一个临时变量c  先把c$a再把a$b、b$c即可完成两个变量之间的交换 [rootlocalhost opt]# alll [rootlocalhost opt]# bppp [rootlocalhost opt]# c$a [rootlocalhost opt]# echo $a lll [rootlocalhost opt]# a$b [rootlocalhost opt]# b$c [rootlocalhost opt]# echo $b lll [rootlocalhost opt]# echo $a ppp [rootlocalhost opt]# 从键盘输入内容为变量赋值 read [-p 提示信息] 变量名 从键盘输入中获取变量值 #read 的常用选项 [rootlocalhost opt]# read --help -bash: read: --: 无效选项 read: 用法:read [-ers] [-a 数组] [-d 分隔符] [-i 缓冲区文字] [-n 读取字符数] [-N 读取字符数] [-p 提示符] [-t 超时] [-u 文件描述符] [名称 ...][rootlocalhost opt]# read -p 请输入变量myname的值 myname 请输入变量myname的值liu [rootlocalhost opt]# echo $myname liu [rootlocalhost opt]# 赋值时使用引号 双引号:允许通过$符号引用其他变量值 单引号:禁止引用其他变量值$视为普通字符 反撇号:命令替换提取命令执行后的输出结果 [rootlocalhost opt]# echo $a ppp [rootlocalhost opt]# echo $a #双引号允许使用$引用变量 ppp [rootlocalhost opt]# echo $a #单引号禁止引用变量$视为普通符号 $a [rootlocalhost opt]# ldd which sshd #反撇号命令替换提取命令执行后的结果linux-vdso.so.1 (0x00007fff039cc000)libfipscheck.so.1 /lib64/libfipscheck.so.1 (0x00007f2d182da000)libwrap.so.0 /lib64/libwrap.so.0 (0x00007f2d180cf000)libaudit.so.1 /lib64/libaudit.so.1 (0x00007f2d17ea6000)libpam.so.0 /lib64/libpam.so.0 (0x00007f2d17c97000) ................................下面省略.........................#效果和$()一样 [rootlocalhost opt]# ldd $(which sshd)linux-vdso.so.1 (0x00007ffcce39f000)libfipscheck.so.1 /lib64/libfipscheck.so.1 (0x00007f4e6b0c0000)libwrap.so.0 /lib64/libwrap.so.0 (0x00007f4e6aeb5000)libaudit.so.1 /lib64/libaudit.so.1 (0x00007f4e6ac8c000)libpam.so.0 /lib64/libpam.so.0 (0x00007f4e6aa7d000) ................................下面省略......................... (2)特殊变量 环境变量、只读变量、位置变量、预定义变量 3.设置变量的作用范围  默认情况下我们在 she ll环境中定义的变量都是局部变量只在当前环境中有效进入到其他的shell 环境中就会失效。 [rootlocalhost yum.repos.d]# loginusers$(who | wc -l) [rootlocalhost yum.repos.d]# echo $loginusers 2 [rootlocalhost yum.repos.d]# bash #切换shell环境 [rootlocalhost yum.repos.d]# echo $loginusers #命令失效[rootlocalhost yum.repos.d]# exit #退出当前环境 exit [rootlocalhost yum.repos.d]# echo $loginusers #命令成功 2 [rootlocalhost yum.repos.d]# 如果想要变量在所有 shell  环境中有效可以在变量前面加个 export 将变量导出为全局变量 两种格式可以混合使用格式1export 变量名...格式2export 变量名变量值... [rootlocalhost yum.repos.d]# export loginusers [rootlocalhost yum.repos.d]# echo $loginusers 2 [rootlocalhost yum.repos.d]# bash #切换shell环境 [rootlocalhost yum.repos.d]# echo $loginusers #任然有效 2 [rootlocalhost yum.repos.d]# bash #再次切换两次环境 [rootlocalhost yum.repos.d]# bash [rootlocalhost yum.repos.d]# echo $loginusers #命令任然有效 2 [rootlocalhost yum.repos.d]# 但是 export 只在当前会话中有效如果打开其他会话界面就会失效如果想要变量在所有的shell 环境中有效有两种办法。 【1】 进入到 /etc/bashrc 文件中加入配置每次切换shell环境都会执行这个文件中的配置 [rootlocalhost yum.repos.d]# vim /etc/bashrc ........................省略................................ 在文件末尾位置加入配置 loginusers$(who | wc -l) 之后保存退出到其他会话实验 [rootlocalhost yum.repos.d]# bash #切换环境 [rootlocalhost yum.repos.d]# echo $loginusers #命令成功 3 [rootlocalhost yum.repos.d]# 切换 shell 环境自动生效 【2】进入到 /etc/profile 文件中加入配置只要用户登录就会自动执行该文件中的命令 [rootlocalhost yum.repos.d]# vim /etc/profile ........................省略................................ 在文件末尾位置加入配置 export loginusers$(who | wc -l) 之后保存退出到其他会话实验[rootlocalhost ~]# echo $loginusers #断开重连后命令依旧有效 3 [rootlocalhost ~]# bash [rootlocalhost ~]# echo $loginusers 3 [rootlocalhost ~]# 如果想要立即生效可以使用 source 命令 或者 重新登录系统自动生效 六.变量的运算 1.整数变量的运算 expr 变量1 运算符号 变量2 [运算符号 变量3].... 中间一定要有空格 常用的运算符号 加法运算: 减法运算 - 乘法运算 \* 除法运算 / 取余数运算 % [rootlocalhost ~]# expr 12 5 3 20 [rootlocalhost ~]# expr 20 - 5 15 [rootlocalhost ~]# expr 20 \* 5 100 [rootlocalhost ~]# expr 20 / 5 4 [rootlocalhost ~]# expr 20 % 3 2 注意 shell默认只支持整数变量运算浮点数运算不支持 [rootlocalhost yum.repos.d]# expr 12 \* 5.5 expr: 非整数参数1使用$符号进行整数变量的运算 [rootlocalhost yum.repos.d]# a12 [rootlocalhost yum.repos.d]# b5 [rootlocalhost yum.repos.d]# expr $a $b 17 [rootlocalhost yum.repos.d]# expr $a - $b 7 [rootlocalhost yum.repos.d]# expr $a \* $b 60 [rootlocalhost yum.repos.d]# expr $a % $b 2 [rootlocalhost yum.repos.d]# expr $a / $b 2 #expr不支持小数运算2使用$[]符号进行整数变量的运算 [rootlocalhost yum.repos.d]# a12 [rootlocalhost yum.repos.d]# b5 [rootlocalhost yum.repos.d]# echo $[12 5] 17 [rootlocalhost yum.repos.d]# echo $[12 - 5] 7 [rootlocalhost yum.repos.d]# echo $[12 /* 5] #在中括号中乘法可以不加\ bash: 12 /* 5: 语法错误: 期待操作数 错误符号是 * 5 [rootlocalhost yum.repos.d]# echo $[12 * 5] 60 [rootlocalhost yum.repos.d]# echo $[12 % 5] 2[rootlocalhost yum.repos.d]# echo $[125] #在中括号中可以不用空格也可以运算 17 [rootlocalhost yum.repos.d]# echo $[$a$b] #在中括号中使用$a$b也可以运算 17 [rootlocalhost yum.repos.d]# echo $[ab] #在中括号中步使用$ab也可以运算 17 3使用$符号进行整数变量的运算 [rootlocalhost yum.repos.d]# a12 [rootlocalhost yum.repos.d]# b5 [rootlocalhost yum.repos.d]# echo $((125)) 17 [rootlocalhost yum.repos.d]# echo $((12-5)) 7 [rootlocalhost yum.repos.d]# echo $((12*5)) 60 [rootlocalhost yum.repos.d]# echo $((12%5)) 2#$用法和中括号$[]差不多一致 4使用 let 命令运算但是必须赋予一个变量let 变量变量 运算符号 变量 [rootlocalhost yum.repos.d]# let i125 [rootlocalhost yum.repos.d]# echo $i 17 [rootlocalhost yum.repos.d]# let i12-5 [rootlocalhost yum.repos.d]# echo $i 7 [rootlocalhost yum.repos.d]# let i12*5 [rootlocalhost yum.repos.d]# echo $i 60 [rootlocalhost yum.repos.d]# let i12%5 [rootlocalhost yum.repos.d]# echo $i 2 let 的其他运算方法 let a、a--、a2、a-2、a*2 [rootlocalhost yum.repos.d]# a10 [rootlocalhost yum.repos.d]# a$[a1] [rootlocalhost yum.repos.d]# echo $a 11 [rootlocalhost yum.repos.d]# let a #等于$[a1] [rootlocalhost yum.repos.d]# echo $a 12 [rootlocalhost yum.repos.d]# let a-- #等于$[a-1] [rootlocalhost yum.repos.d]# echo $a 11 [rootlocalhost yum.repos.d]# let a2 #等于$[a2] [rootlocalhost yum.repos.d]# echo $a 13 [rootlocalhost yum.repos.d]# let a-2 #等于$[a-2] [rootlocalhost yum.repos.d]# echo $a 11 [rootlocalhost yum.repos.d]# let a*2 #等于$[a*2] [rootlocalhost yum.repos.d]# echo $a 222.浮点数变量的运算 1bc 工具的使用 原因Bash只支持对整数的运算不支持浮点运算而 bc 计算器可以很方便的进行浮点运算 [root192 ~]# rpm -q bc #确认是否安装 bc-1.06.95-13.el7.x86_64[root192 ~]# echo 1.12.2 1.12.2 [root192 ~]# echo 1.12.2 | bc 3.3 [root192 ~]# echo 1.1*2.2 | bc 2.4 [root192 ~]# echo 1.12*2.2 | bc 2.46 2scalen 的使用 如果想保留多少位小数可以使用 scalen 来指定小数的保留位数。 [root192 ~]# echo scale4;4.3/2.5 | bc 1.7200 [root192 ~]# echo scale3;4.3/2.5 | bc 1.720 3awk 工具的使用 格式awk BEGIN{print 算术表达式}最多可保留小数后五位。 [root192 ~]# awk BEGIN{print 4.52.2} 6.7 [root192 ~]# awk BEGIN{print 4.5-2.2} 2.3 [root192 ~]# awk BEGIN{print 4.5*2.2} 9.9 [root192 ~]# awk BEGIN{print 4.5%2.2} 0.1 [root192 ~]# awk BEGIN{print 4.5/2.2} 2.04545 [root192 ~]# awk BEGIN{print (4.5-2.2)*210} #混合运算 14.6七.特殊的 Shell 变量 1.环境变量 由系统提前创建用来设置用户的工作环境 配置文件/etc/profile、~/.bash_profile 1查看所有的环境变量 env 命令 2常见的环境变量 PWD、PATH、USER、SHELL、HOME 其中用处最为广泛的环境变量为$PATH 表示可执行文件的默认路径 [rootlocalhost ~]# echo $PATH #PATH环境变量保存Linux命令的搜索路径 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin[rootlocalhost ~]# echo $USER #查看当前正在使用的用户 root #效果和whoami一样 [rootlocalhost ~]# su - liu [liulocalhost ~]$ echo $USER liu [liulocalhost ~]$ [rootlocalhost ~]# echo $SHELL #查看当前的shell环境 /bin/bash[rootlocalhost ~]# echo $HOME #查看当前用户的家目录 /root [rootlocalhost ~]# su - liu 上一次登录三 5月 8 16:24:10 CST 2024pts/1 上 [liulocalhost ~]$ echo $HOME /home/liu[rootlocalhost ~]# echo $LANG #查看当前使用的语言和文字 zh_CN.UTF-8 [rootlocalhost ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [rootlocalhost ~]# export PATH$PATH:/opt #将opt目录加入到环境变量中 [rootlocalhost ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt#退出当前shell环境后失效 2.只读变量 用于变量值不允许被修改的情况 格式 readonly 变量名变量值 #只读变量不允许被修改变量值和删除变量 [rootlocalhost ~]# a10 [rootlocalhost ~]# echo $a 10 [rootlocalhost ~]# a20 [rootlocalhost ~]# echo $a 20 [rootlocalhost ~]# readonly a #设置a为只读变量 [rootlocalhost ~]# a30 #a不能被修改 -bash: a: 只读变量 [rootlocalhost ~]# echo $a 20 [rootlocalhost ~]# unset a #a无法被删除 -bash: unset: a: 无法反设定: 只读 variable只有重启才能取消只读变量 3.位置变量 表示为 $n  ,n为1-9之间的数字 [rootlocalhost opt]# ./test.sh one two three four five six seven eight nine ./test.sh one two three four five #一个数字对应一个数值 six seven eight nine [rootlocalhost opt]# ./test.sh 1 2 3 4 5 6 7 8 9 ./test.sh 1 2 3 4 5 6 7 8 9 [rootlocalhost opt]# 注意数字是以1为开头。1-9是正常跟在$后面即可。当数字大于或等于10要用{ }进行使用区别shell误识别。 [rootlocalhost opt]# ./test.sh one two three four five six seven eight nine ten ./test.sh one two three four five six seven eight nine one0 [rootlocalhost opt]# vim test.sh #!/bin/bashecho $0 echo $1 echo $2 echo $3 echo $4 echo $5 echo $6 echo $7 echo $8 echo $9 echo ${10} #使用{} 不然含义就是 $1 加上字符 1[rootlocalhost opt]# ./test.sh one two three four five six seven eight nine ten ./test.sh one two three four five six seven eight nine tenecho $[${10} ${11}] #如果想使用运算可以这样子使用num1${10} #进行多个运算第一种方式太过繁琐 num2${11} 可以提前定义好变量值 echo $[num1 num2] 4.预定义变量 1$0  代表脚本本身 2$#  代表脚本后面跟的位置参数的数量 [rootlocalhost opt]# ./test1.sh ./test1.sh‘########’ 0 [rootlocalhost opt]# ./test1.sh 1 2 3 4 ./test1.sh 1‘########’ 4 [rootlocalhost opt]# ./test1.sh 1 2 3 4 5 ./test1.sh 1‘########’ 5 [rootlocalhost opt]# ./test1.sh 1 2 3 4 5 6 ./test1.sh 1‘########’ 6 3$?  代表的是上一条Linux命令执行的返回状态码0~2550表示上一条命令执行正确非0值则表示上一条命令执行异常 [rootlocalhost opt]# echo $? 127 [rootlocalhost opt]# ls -alh 总用量 8.0K drwxr-xr-x. 2 root root 37 5月 8 17:16 . dr-xr-xr-x. 17 root root 224 4月 25 16:09 .. -rwxr-xr-x. 1 root root 69 5月 8 17:16 test1.sh -rwxr-xr-x. 1 root root 159 5月 8 17:09 test.sh [rootlocalhost opt]# echo $? 0 [rootlocalhost opt]# 4$*  默认代表脚本后面跟的所有参数加上双引号后 $* 会把所有参数看做一个整体 5$  默认代表脚本后面跟的所有参数加上双引号后 $ 还是会把每个参数看做   [rootlocalhost opt]# vim test2.sh #!/bin/bash echo 不加引号时 echo #### $* #### for i in $* doecho $i doneecho #### $ #### for i in $ doecho $i done [rootlocalhost opt]# ./test2.sh one two three four five six 不加引号时 #### one two three four five six #### one two three four five six #### one two three four five six #### one two three four five six[rootlocalhost opt]# vim test2.sh #!/bin/bash echo 加引号时 echo #### $* #### for i in $* doecho $i doneecho #### $ #### for i in $ doecho $i done [rootlocalhost opt]# ./test2.sh one two three four five six 加引号时 #### one two three four five six #### one two three four five six #### one two three four five six #### one two three four five six 拓展date 的用法 date %Y%m%d 当天日期 date -d -1 day %Y%m%d 昨天日期 date %Y%m01 当月第一天 date -d 1 month %Y%m01 下个月第一天 date -d $(date -d 1 month %Y%m01) -1 day %Y%m%d 当月最后一天 [rootlocalhost opt]# date %Y%m%d 20240508 [rootlocalhost opt]# date -d -1 day %Y%m%d 20240507 [rootlocalhost opt]# date %Y%m01 20240501 [rootlocalhost opt]# date -d 1 month %Y%m01 20240601 [rootlocalhost opt]# date -d $(date -d 1 month %Y%m01) -1 day %Y%m%d 20240531 [rootlocalhost opt]#
http://www.zqtcl.cn/news/34831/

相关文章:

  • 网站打不开显示asp郑州专业制作网站费用
  • 烟台定制网站建设公司金牛区建设审批网站
  • 猪八戒建站服务wordpress更新php版本
  • 移动端企业网站模板电商公司组织架构
  • 上海企业网站排名优化网页制作价格表
  • 鹤壁专业做网站公司写作网站六大神书
  • 萧山区建设局网站潍坊建设局官方网站
  • 药学专业网站正能量网站ip
  • 怎样查看网站是否备案90设计网站官网入口
  • 手机网站开发框架php手机哪个网站好
  • wap网站开发价钱宁波seo推荐
  • 安徽企业网站制作库尔勒西部建设网站
  • 建设部投诉网站中铁建设集团门户员工登录
  • 聊城市 网站制作网站程序是什么
  • 如何用易语言做网站设计师平台接单
  • 网站显示系统建设中精美ppt模板下载
  • 自助建站系统官网怎么切图做网站
  • 苏州企业网站建设设计网站二级导航
  • 灵山招聘网灵山英才网做灵山专业的招聘网站软件项目管理流程
  • 免费影视网站入口大全建筑效果图网站推荐
  • 免费个人网站建设报价wordpress获取上传
  • 做视频网站用什么格式好三大设计软件哪个好
  • 购物网站建设课程设计手机网站注意哪些问题
  • 企业网站多大空间够用西安网站建设产品
  • 广州建站快车工商名称预先核准官网
  • 国内工业设计网站外贸网站如何建站
  • node.js网站开发框架网站定制化服务
  • 网站制作需要哪些软件有哪些专业定制网站建设团队
  • 淘宝网站建设手机版手机网站程序源码
  • 做阿里巴巴网站装修要多久网站服务器ip更换