• 常用的几种脚本文件


    常用的几种脚本文件有:except脚本 bash脚本 python脚本 (解释性语言,无需编译,即可运行)

    #!/usr/bin/except

    except脚本,Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。

    #!  /bin/bash

    通过/usr/bin/bash运行程序,其指定了程序的具体位置,在某些情况下更安全,因为它限制了代码注入的可能。

    #!  /usr/bin/env bash

    通过/usr/bin/env运行程序,用户不需要去寻找程序在系统中的位置(因为在不同的系统,命令或程序存放的位置可能不同),程序的位置存放在$PATH中;

    python脚本文件

    bash语法:

    rsync: 用于从一个位置到另外一个位置同步文件和文件夹。备份的地址可以是本地也可以是远程   rsync -av --exclude=[...]  [.....] [.....]

    sed: 逐行读取文件的内容,读到就执行相应的操作(主要用于替换文件中的字符串)

    echo: 输出字符串

    find: 查找文件                      find 目录 -name "文件名"

    grep: 以行为单位读取文本并使用正则表达式进行匹配,匹配成功后打印出该行文本    grep [option] "string_to_find" filename

    grep常见选项:

    (1)-i:忽略搜索字符串的大小写

    (2)-v:取反,即输出不匹配的那些文本行

    (3)-n:输出行号

    (4)-l:输出能够匹配模式的文件名,相反的选项为-L

    (5)-q:静默输出

    (6)-c:计算匹配成功的行数

    (7)-o:输出匹配到的文本部分的个数

    (8)-e:该选项加上正则表达式就是一个需要匹配的模式

    (9)-r:grep的参数filename为目录时可以加上本选项表示递归搜索

    (10)--include:指定需要搜索的文件

    (11)--exclude:排除需要搜索的文件

    (12)--exclude-dir:排除需要搜索的目录

    shell中的特殊字符:

    • $  美元符号。用来表示变量的值。如变量NAME的值为Mike,则使用$NAME就可以得到“Mike”这个值。
    • #  井号。除了做为超级用户的提示符之外,还可以在脚本中做为注释的开头字母,每一行语句中,从#号开始的部分就不执行了。
    •  “”  双引号。shell不会将一对双引号之间的文本中的大多数特殊字符进行解释,如#不再是注释的开头,它只表示一个井号“#”。但$仍然保持特殊含义。(在双引号中的$加变量名,即:$PARAM_NAME,依然会转换成变量的值。),双引号对于某些特殊符号是不起作用的, 例如:”,$,\,`(反引号)。双引号和单引号不能嵌套。即:echo ‘””’  输出””,  echo “’’” 输出’’
    • ‘’  单引号。shell不会将一对单引号之间的任何字符做特殊解释。(在双引号中的$加变量名,即:$PARAM_NAME,不会转换成变量的值。)
    • ``  倒引号。命令替换。在倒引号内部的shell命令首先被执行,其结果输出代替用倒引号括起来的文本,不过特殊字符会被shell解释。
    •     斜杠。用来去掉在shell解释中字符的特殊含义。在文本中,跟在后面的一个字符不会被shell特殊解释,但其余的不受影响。
    •  []中括号, 主要是用来测试条件的,通常放在if语句的后面。 中括号本身不会在测试语句执行后消失。
    •  {}大括号,主要是和$符号配合,作为字符串连接来使用。echo ${HOME}ismydir   (结果:/home/xiongguoanismydir)

    except语法:

    set: 设置参数值    set timeout 30

    spwan: 是进入expect环境后才可以执行的expect内部命令,使用前必须要装except。

    它主要的功能是给ssh运行进程加个壳,用来传递交互指令。  spawn ssh -l username 192.168.1.1

    except: 是expect的内部命令,用来判断上次输出结果里是否包含“password:”的字符串,如果有则立即返回,否则就等待一段时间后返回,这里等待时长就是前面设置的30秒     expect "password:"

    send: 执行交互动作,与手工输入密码的动作等效   send "ispass "

    interact: 执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了

    $argv: 参数数组,expect脚本可以接受从bash传递过来的参数.可以使用[lindex $argv n]获得,n从0开始,分别表示第一个,第二个,第三个....参数

    参考网址:https://www.cnblogs.com/chengjian-physique/p/11768641.html

  • 相关阅读:
    jsp 说明标签
    atcoder 它February 29th
    centos编译内核:no space left on device 解
    《Javascript权威指南》十六学习笔记:BOM资源---BOM基本应用
    2014ACM/ICPC亚洲区域赛牡丹江站汇总
    Swift_3_功能
    ExtJs在disabled和readOnly美学分析
    android -- 蓝牙 bluetooth (四)OPP文件传输
    android -- 蓝牙 bluetooth (三)搜索蓝牙
    android -- 蓝牙 bluetooth (二) 打开蓝牙
  • 原文地址:https://www.cnblogs.com/pass-ion/p/13846898.html
Copyright © 2020-2023  润新知