shell练级笔记二

条件判断式的使用
if then
只有一个判断式
if [条件判断式];then
    ......  //符合if条件的在这里执行
fi //返回来写结束if判断之意
多个条件
放在一个[ ]里

[a -o b] [a -a b]

-o or
-a and

放在多个[ ]里

[a] && [b]

[a] || [b]

&& 代表 and
|| 代表 or

read -p "please input (Y/N):" yn

if [ "$yn" == "Y" -o "$yn" == "y" ];then
        echo -e "OK,Continue" 
        exit 0
fi
if [ "$yn" == "N" -o "$yn" == "n" ];then
        echo -e "OK,Interrupt" 
        exit 0
fi
echo -e "I dont't know what your choices" && exit 0

注意:

[ ]中两侧和各个条件之间加 空格

if 需要结束符号 fi 倒写过来

多重、复杂条件判断
一个条件的判断
#一个条件判断,分成功与失败进行
if []; then
    ...... 条件成立时,执行的程序
else
    ...... 条件失败时,执行的程序
fi
多个条件的判断
#更多条件参与判断,分多种情况执行
if [1]; then
    ...... 符合1,执行
elif [2]; then
    ...... 符合2,执行
else
    ...... 1和2都不符合,执行
fi
实验代码
if [ "$1" == "hello" ];then
        echo -e "Hello,How are you?" 
elif [ "$1" == "" ];then
        echo -e "You must input parameters,ex> {$0 someword}" 
else
        echo -e "The only parameter is hello, ex> {$0 hello}" 
fi
利用case
#使用方式
case $变量名 in
    "1")
    ...... #满足第一个条件
    ;;
    "2")
    ...... #满足第二个条件
    ;;
    "*")
    exit 1 #不满足上述任何条件
    ;;
esac
实验代码
case $1 in
  "one")
         echo " your choice is one"
        ;;
  "two")
        echo "your choice is two"
        ;;
  "three")
        echo "your choice is three"
        ;;
  *)
        echo "Usage $0 {one|two|three}"
        ;;
esac
使用function的功能
#语法
function fname(){
    ......
}
实验代码
function printit(){
  echo -n "Your choice is ";
}

# read -p "Input your choice:" choice
# case $choice in
echo "This program will print your selection !"

case $1 in
  "one")
         printit;echo $1 | tr 'a-z' 'A-Z'
        ;;
  "two")
         printit;echo $1 | tr 'a-z' 'A-Z'
        ;;
  "three")
         printit;echo $1 | tr 'a-z' 'A-Z'
        ;;
  *)
        echo "Usage $0 {one|two|three}"
        ;;
esac

注意,

shell是自上而下,自左而右执行的,所以function的声明必须放在最前面,否则会在调用的时候报找不到function的错误。

function的内建参数

和shell脚本的默认参数类似

$0代表函数名,$1,$2, 3 ⋅ ⋅ ⋅ ⋅ ⋅ 3····· 3#依次类推

使用的时候,不能和shell脚本的默认参数混淆

实验代码
function printit(){
  echo  "Your choice is $1";
}

# read -p "Input your choice:" choice
# case $choice in
echo "This program will print your selection !"

case $1 in
  "one")
         printit 1
        ;;
  "two")
         printit 2
        ;;
  "three")
         printit 3
        ;;
  *)
        echo "Usage $0 {one|two|three}"
        ;;
esac

注意:

case 后面的 $1 指执行脚本的时候紧跟的第一个参数

printit 里面的$1 指调用它紧跟的参数,这里指 1 2 3

### 2023 Visual Studio Code Top 10 Themes #### 1. Dracula Official Dracula 是一款广受欢迎的主题,具有深色背景和鲜明的颜色对比。这款主题不仅适用于 VS Code,还支持其他多个编辑器和平台。 ```json { "workbench.colorTheme": "Dracula Official" } ``` #### 2. Material Theme Material 主题基于 Google 的 Material Design 设计理念,提供了多种颜色变体供用户选择,适合喜欢现代设计风格的开发者[^1]。 ```json { "workbench.colorTheme": "Material Theme" } ``` #### 3. One Dark Pro One Dark Pro 是 Atom 编辑器默认主题的一个改进版本,拥有良好的可读性和美观度,在社区中有很高的评价。 ```json { "workbench.colorTheme": "One Dark Pro" } ``` #### 4. Night Owl Night Owl 提供了一种柔和的夜间模式体验,特别适合长时间编码工作的人群使用。 ```json { "workbench.colorTheme": "Night Owl" } ``` #### 5. Cobalt2 Cobalt2 继承了经典的 Cobalt 配色方案,并进行了优化调整,使得界面更加清晰易读。 ```json { "workbench.colorTheme": "Cobalt2" } ``` #### 6. Monokai Pro Monokai Pro 延续了原始 Monokai 的色彩搭配,增加了更多细节处理,成为许多开发者的心头好。 ```json { "workbench.colorTheme": "Monokai Pro" } ``` #### 7. Solarized Dark Solarized Dark 是由 Ethan Schoonover 创建的一款经典配色方案,以其科学严谨的设计方法著称。 ```json { "workbench.colorTheme": "Solarized Dark" } ``` #### 8. Quiet Light Quiet Light 则是一款浅色调主题,对于偏好明亮环境下的工作者来说是个不错的选择。 ```json { "workbench.colorTheme": "Quiet Light" } ``` #### 9. GitHub Dark Default GitHub 官方推出的黑暗模式主题,完美适配官方仓库页面样式,给用户提供一致性的视觉感受。 ```json { "workbench.colorTheme": "GitHub Dark default" } ``` #### 10. Palenight Palenight 结合了淡雅与深邃的特点,创造出既不过于刺眼也不至于昏暗的效果,非常适合日常编程需求。 ```json { "workbench.colorTheme": "Palenight" } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值