shell语法是什么
发表于:2025-02-13 作者:千家信息网编辑
千家信息网最后更新 2025年02月13日,今天就跟大家聊聊有关shell语法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。变量rz="hufei" # 定义静态变量date=
千家信息网最后更新 2025年02月13日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安全错误
数据库的锁怎样保障安全
网络技术计算机三级成绩
软件开发职业生涯规划范文
衡水定制软件开发服务商
我的世界服务器怎么设置和删除家
中国邮政储蓄银行软件开发部
苏州软件开发分布
威海软件开发企业
qq服务器疑似故障
宜昌专业的软件开发企业
简要分析当前的网络安全形势
软件开发技术标书模板
okhttp 服务器
fiery服务器系统
服务器做彩蛋
java服务器 tcp
ad服务器备份
国家网络安全法题目有答案
杭州边锋网络技术有限
红河精益管理软件开发
郑州 互联网 科技
方舟 非官方服务器 安全吗
ibm服务器bios设置
数据库分割成多个文件
创造与魔法服务器不同能一起玩吗
武汉 网络安全学院
四川顶呱呱网络技术有限公司
专业网络安全技术方案报价
神武2手游 服务器
武汉达梦数据库股份有限公司知乎
企业网络安全科技馆附近