shell语法是什么
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,今天就跟大家聊聊有关shell语法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。变量rz="hufei" # 定义静态变量date=
千家信息网最后更新 2024年12月12日shell语法是什么
今天就跟大家聊聊有关shell语法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
变量
rz="hufei" # 定义静态变量date=`date` # 赋值,动态变量echo $rz # hufeiecho '$rz' # '$rz' 不能用echo "$rz" # hufeiecho "'$rz'" # 'hufei'echo '"$rz"' #'$rz' 不能用echo `$rz` # 报错echo $dateecho ${rz}addword # 变量拼接总结: 字符串带上双引号,变量引用不要用单引号
传参
#!/bin/bash # 生产中不一定是这一行echo "执行的文件名:$0";echo "第一个参数为:$1";echo "第二个参数为:$2";echo "第三个参数为:$3";echo "个数:$#" # 参数个数echo "传递参数作为一个字符:$*" #将所有参数拼为一个字符串echo "PID: $$" # shell进程pid,防止误kill./test.sh 1 2 3
调试
执行时加上 -x 或者 #!/bin/bash -x
数组
arr=(hello world jike make you)echo ${arr} # 默认第一个echo ${arr[*]} # 所有的,按空格分开echo ${arr[4]} # 第四个echo ${#arr[*]} # 数组个数
判断
方式1
if condition1then command1elif condition2 then command2else commandNfi
方式2(命令形式)
if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi
if案例
a="abc"b="abc"c=3# stringif [ $a == $b ]then echo "a equal b"else echo "a no equal b"fi# numif [ $c == $b ];then echo "c equal b";else echo "c not equal b";fi# 判断文件是否存在dir="/data/"file="/data/file"if [ ! -d $dir ];then echo "${dir}不存在";else echo "${dir}已存在";fiif [ ! -f $file ];then echo "${file}不存在";else echo "${file}已存在";fi参数说明:-d 判断对象是否存在,并且为目录-f 判断对象是否存在,并且为常规文件-s 判断对象是否存在,并且长度不为0-nt 判断file1是否比file2新 [ "/data/file1" -nt "/data/file2" ]
for循环
方式1
for var in item1 item2 ... itemNdo command1 command2 ... commandNdone
for str in 'This is a string'do echo $strdone
方式2
for var in item1 item2 ... itemN; do command1; command2… done;
for循环获取分割字符串,以,为例
s="hello,world,hadoop,jike,ou"# 方法1OLD_IFS="$IFS"IFS=","arr=($s)IFS="$OLD_IFS"for x in ${arr[*]}do echo $xdone# 方法2arr2=(${s//,/ })for x in ${arr2[*]}do echo $xdone
while循环
while conditiondo commanddone
#!/bin/bashint=1while(( $int<=5 ))do echo $int let "int++"done
case
case 值 in模式1) command1 command2 ... commandN ;;模式2) command1 command2 ... commandN ;;esac
echo '输入 1 到 4 之间的数字:'echo '你输入的数字为:'read aNumcase $aNum in 1) echo '你选择了 1' ;; 2) echo '你选择了 2' ;; 3) echo '你选择了 3' ;; 4) echo '你选择了 4' ;; *) echo '你没有输入 1 到 4 之间的数字' ;;esac
函数
示例1(无返回值)
#!/bin/bash# author:菜鸟教程# url:www.runoob.comdemoFun(){ echo "这是我的第一个 shell 函数!"}echo "-----函数开始执行-----"demoFunecho "-----函数执行完毕-----"
示例2(有返回值)
#!/bin/bash# author:菜鸟教程# url:www.runoob.comfunWithReturn(){ echo "这个函数会对输入的两个数字进行相加运算..." echo "输入第一个数字: " read aNum echo "输入第二个数字: " read anotherNum echo "两个数字分别为 $aNum 和 $anotherNum !" return $(($aNum+$anotherNum))}funWithReturnecho "输入的两个数字之和为 $? !"
示例3(接收参数)
#!/bin/bash# author:菜鸟教程# url:www.runoob.comfunWithParam(){ echo "第一个参数为 $1 !" echo "第二个参数为 $2 !" echo "第十个参数为 $10 !" echo "第十个参数为 ${10} !" echo "第十一个参数为 ${11} !" echo "参数总数有 $# 个!" echo "作为一个字符串输出所有参数 $* !"}funWithParam 1 2 3 4 5 6 7 8 9 34 73
包含文件
包含文件可以用于封装公共文件
. filename # 注意点号(.)和文件名中间有一空格或source filename
#!/bin/bash# author:菜鸟教程# url:www.runoob.com#使用 . 号来引用test1.sh 文件. ./test1.sh# 或者使用以下包含文件代码# source ./test1.shecho "菜鸟教程官网地址:$url"
看完上述内容,你们对shell语法是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
参数
文件
数字
输入
函数
变量
字符
教程
菜鸟教程
菜鸟
字符串
方式
选择
两个
个数
内容
对象
示例
循环
语法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库技术的测试题
适合视频处理的云服务器
dell服务器常用系列
汕头酒店软件开发公司
数据库查看数据属性命令
金蝶的数据库怎么设置
聚焦网络技术支持
邮箱无法连接到服务器
网络安全鸡肉
服务器之间连接安全机制
进口服务器涉税问题
软件开发模型可分为六种
不是数据库加密技术
票房数据库技术学院
黄骅巨鹏软件开发有限公司
无人机设计3d软件开发
怎么将文件传入数据库
java 实体类 数据库
网易服务器hypixel
软件开发过程中的作业风险及评估
数据库技术的测试题
列举网络安全法的六大特征
战地1连接不上服务器是什么原因
ibm服务器出现感叹号
关于组织网络安全技能大赛
APP软件开发得多少费用
富士康服务器默认带外
网络安全这门课学到了什么
数据库系统中的常见故障有那些
自己搭建云服务器 租哪个便宜