前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell_语法(2)

shell_语法(2)

作者头像
以某
发布2023-03-07 14:33:43
1720
发布2023-03-07 14:33:43
举报
文章被收录于专栏:Jack96Jack96

文章目录

语法
1. 判断
代码语言:javascript
复制
# [   ] 中间的变量左右保留各保留一个空格 

if [ -d $0 ]; then
    echo "this is dir"
elif [ -f $0 ]; then
    echo "this is file"
else
    echo "Nothing"
fi
2. 循环
代码语言:javascript
复制
# seq : sequence: shell的序列,全闭区间

for  i in `seq 1 10`
do
    echo "current  num  is  $i"
done

等同于:
for ((i=1; i<11; i++)); do echo "current num is $i"; done
代码语言:javascript
复制
while  ((condition))
do
    echo "run shell"
done
3. 函数
代码语言:javascript
复制
foo() {
    echo "Hello Shell"
    for f in `ls ../`
    do 
        echo $f
    done
}

# 调用函数不需要()
foo

注意:
定义函数时,变量名前面加 function 和 不加 function 都可
4. case: 当有有情况符合时执行相应动作语句,否则就退出
代码语言:javascript
复制
cat   <<   EOF
请输入要执行的操作编号:【1-4】
==========================
【1】系统更新
【2】安装软件
【3】安装Redis
【4】安装Nginx
=========================
EOF

# 获取要执行的操作编号
if  [[ -n $1 ]]; then
    input=$1
    echo "执行操作: $1"
else
    read  -p  "请选择: "  input
fi

case  $input  in
         1) system_update;;
         2) install_software;;
         3) install_redis;;
         4) install_nginx;;
         *) exit;;
esac
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
    • 语法
      • 1. 判断
        • 2. 循环
          • 3. 函数
            • 4. case: 当有有情况符合时执行相应动作语句,否则就退出
            相关产品与服务
            云数据库 Redis
            腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档