几例shell实用脚本(珍藏版)

 更新时间:2021年04月30日 09:10:07   作者:千锋python和唐唐  
日常工作中,经常编写一些shell命令或脚本以完成重复性操作,本文分享了最近用到的几例shell实用脚本,感兴趣的朋友跟随小编一起看看吧

1 特殊文件名的远程拷贝

服务器之间拷贝文件经常使用scp命令,其命令格式:

(1)scp filename [user@]host:dir

(2)scp [user@]host:dir1/filenamedir2

格式(1)将本地文件filename拷贝到远程服务器host的dir目录下,格式(2)将远程服务器host的dir1目录下的文件filename,拷贝到本地dir2目录下。

如果拷贝的文件名包含特殊字符,比如ecs-eos-base:1.0.tar,冒号:属于特殊字符。直接使用格式(1)的命令进行拷贝,命令将ecs-eos-base识别为主机名称而命令运行报错,如下:

[root@PHY91 docker]# scp ecs-eos-base:1.0.tar root@PHY94:/root/docker/
 
ssh: Could not resolve hostname ecs-eos-base: Temporary failure in name resolution

此时使用./表示当前目录即可解决该报错,命令如下:

[root@PHY91 docker]# scp ./ecs-eos-base:1.0.tar root@PHY94:/root/docker/
 
ecs-eos-base:1.0.tar 100% 84MB 172.7MB/s 00:00

使用./代表当前目录,scp命令就不会将ecs-eos-base识别为主机名称。

2 Base64编码和解码

在Centos或Redhat Linux操作系统中,如果要进行字符串的Base64编码和解码,可以使用base64命令即可简单实现。

(1)编码

[root@PHY91 ~]# echo “PHY91” | base64
 
UEhZOTEK

(2)解码

[root@PHY91 ~]# echo “UEhZOTEK” | base64 -d
 
PHY91

base64既可以编码解码字符串,也可以对文件内容进行编码和解码。-d参数是表示解码。

对文件编码解码命令如下:

[root@PHY91 test]# echo “12345” > test.txt
 
[root@PHY91 test]# base64 test.txt
 
MTIzNDUK
 
[root@PHY91 test]# base64 test.txt > test2.txt
 
[root@PHY91 test]# more test2.txt
 
MTIzNDUK
 
[root@PHY91 test]# base64 -d test2.txt
 
12345

3 版本号自增长的实现

使用docker build进行应用镜像构建时,为便于镜像版本管理,每次构建的镜像版本号会增加1。可以使用脚本实现版本号的自增1,首先创建一个version.txt文件,内容如下:

[eos@host-132 eos]$ more version.txt

1.0.0

获取版本号命令如下:

version=cat version.txt

版本号赋值给version变量。

版本号自动增加1,脚本命令如下:

echo $version | awk -F'.' ‘{print($1"."$2"."($3+1));}' > version.txt

命令说明:

(1)使用awk命令,分隔符为点“.”;

(2)$1,$2和$3分别是版本号的第1,2,3个数字;

(3)$3+1表示版本号增加1。

4 sed配置运行环境

在动静完全分离的web应用项目中,前端使用nginx部署静态资源即可,项目前端代码的基准URL(baseUrl)需要根据不同运行环境(开发、测试、生产)进行相应的修改,例如baseUrl赋值的js代码如下:

define([“jquery”], function ($) {
 
return {

到此这篇关于几例shell实用脚本(珍藏版)的文章就介绍到这了,更多相关shell实用脚本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Shell脚本经典之Fork炸弹的分析与预防

    Shell脚本经典之Fork炸弹的分析与预防

    这篇文章主要给大家介绍了Shell脚本经典之Fork炸弹的分析与预防,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Shell字符串截取的实现方法(非常详细)

    Shell字符串截取的实现方法(非常详细)

    这篇文章主要介绍了Shell字符串截取的实现方法(非常详细),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Linux 中 CURL常用命令详解

    Linux 中 CURL常用命令详解

    这篇文章主要介绍了Linux 中 CURL常用命令详解,需要的朋友可以参考下
    2015-10-10
  • Shell中printf和test命令的实际应用详解

    Shell中printf和test命令的实际应用详解

    本文主要介绍了Shell中printf和test命令的实际应用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • Shell处理带空格的文件名的方法

    Shell处理带空格的文件名的方法

    这篇文章主要介绍了Shell处理带空格的文件名的方法,文中总结了若干处理带空格的文件名的技巧,需要的朋友可以参考下
    2014-06-06
  • Linux系统如何修改防火墙配置

    Linux系统如何修改防火墙配置

    这篇文章主要介绍了Linux系统如何修改防火墙配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 普通用户启动supervisor报HTTP错误(strace)解决分析

    普通用户启动supervisor报HTTP错误(strace)解决分析

    这篇文章主要为大家介绍了普通用户启动supervisor报HTTP错误strace的问题解决分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 简化shell终端命令输入的脚本式快捷键工具

    简化shell终端命令输入的脚本式快捷键工具

    这篇文章主要介绍了简化shell终端命令输入的脚本式快捷键工具,这是一个shell脚本写的简化shell命令输入的快捷键工具,需要的朋友可以参考下
    2015-03-03
  • Linux中cut命令的基本使用详解

    Linux中cut命令的基本使用详解

    cut命令是一个Linux/Unix命令,用于从文件或标准输入中提取字段并输出到标准输出,这篇文章主要介绍了Linux系统之cut命令的基本使用,需要的朋友可以参考下
    2023-05-05
  • Linux ps命令详解及Linux查看进程的操作方法

    Linux ps命令详解及Linux查看进程的操作方法

    这篇文章主要介绍了Linux ps命令详解,Linux查看进程的操作方法,ps命令常用的方式有三种,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12

最新评论