Shell踩坑指南

Shell 踩坑指南

摘要

1、shell运维
2、shell解释器管理集群

一、shell 标准样式:

1、指定解释器:
sh是规范,bash是实现,在linux系统中一般都会将/bin/sh软链到/bin/bash上
centos默认解释器为bash
Ubuntu默认解释器 python

二、echo打印方式

    在shell中可以使用 单引号,双引号,和不适用任何符号,修饰来打印内容。

    #!/bin/bash
    echo "echo 的三种输出方式"
     
    echo 'tom'
    echo tom
    echo "tom"
    echo tom
#!bin/bash
echo "Helloword"

三、变量

shell中可以自定义变量,不需要修饰。
在变量名前面加美元符号可以使用该变量。
变量名外面的花括号可有可无,主要便于区分。
unset 命令可以删除变量

    #!/bin/bash
    echo '------------变量---------------'
    #=中间不可有空格
    name="tom"
    echo $name
    echo ${name}
    echo '123 $name'
    echo "123 $name"
    unset name
    echo $name

四. 批量重命名

在linux中使用find命令和rename命令,修改文件夹下的文件名,修改方式如下:

例如 需要将文件名 重命名为以下形式:
Zhantingshi_7月29日fole_202304314365_12.jpg_(1203, 1234, 243, 121).jpeg

​Zhantingshi_7月29日fole_202304314365_12.jpg

但() 内的数字是不确定的,最后的后缀.jpeg也是不确定的

参考命令:

find /path/to/folder -type f -name 'name_(*).*' -exec rename 's/name_\(.*\)\..*/name/' {} \;

其中,有些字符需要使用转义字符表示,

例如  * 需要用 \* 表示
例如  .       \.

其中,还使用到了正则表达式:

.* 用于匹配任意数量(包括0个)的任意字符
故上述字符name_\(.*\)\..*  可以拆分为:
name_  \(  .*  \)  \.  .*

在 Linux 命令行中,常见的需要转义的特殊字符包括:

  • $(美元符号):用于变量替换和命令替换。
  • ```(反引号):用于命令替换。
  • "(双引号):用于定义双引号字符串。
  • \(反斜杠):用于转义字符。
  • #(井号):用于注释。
  • &(和号):用于在后台运行命令。
  • |(竖线):用于管道。
  • ;(分号):用于分隔命令。
  • <>(小于号和大于号):用于输入输出重定向。

这些字符在特定情况下可能需要使用反斜杠 \ 来转义,以保留它们的字面意义。

五 没想好写啥

持续更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值