shell语法是什么
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,今天就跟大家聊聊有关shell语法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。变量rz="hufei" # 定义静态变量date=
千家信息网最后更新 2025年12月04日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 $xdonewhile循环
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安全错误
数据库的锁怎样保障安全
广州手机棋牌软件开发公司
软件开发的经验与教训
高级服务器迷你世界
安装数据库管理系统多少钱
数据库修改某个字段的值
数字网络技术有哪些
拨号上网服务器
重庆统一软件开发价钱
数据库之间传输数据
手机怎么找网络安全密钥
街道办事处网络安全检查报告
深圳腾宏达网络技术有限公司
linux应用服务器
谷歌游戏服务器更新中
p.to 网络安全密码
大连海米科技互联网
服务器跟交换机怎么配合
易语言如何保证数据库安全
数据库 建立教师表
集群数据库创建
文件服务器资源管理
华为无线软件开发和算法
贵州5g网络技术
pfam数据库下载
文件服务器要求
p.to 网络安全密码
小白数据库续航最新排名
学校网络安全工作的心得体会
信息技术与网络安全的作业
开展网络安全法线上答题