精华内容
下载资源
问答
  • Linux中编写Shell脚本

    万次阅读 多人点赞 2018-10-08 11:22:35
    Shell脚本编写规范 Shell 中的变量 变量的算术运算 双小括号 (()) 数值运算命令的用法 let 运算命令的用法 expr 命令的用法 br 命令的用法 $[]符号的运算示例 Shell脚本的条件测试 几种条件测试语句 文件...

    目录

    Shell

    Shell脚本的执行

    Shell脚本编写规范

    Shell 中的变量

    变量的算术运算

    双小括号 (())  数值运算命令的用法

    let 运算命令的用法

    expr 命令的用法

    br 命令的用法

    $[] 符号的运算示例

    Shell脚本的条件测试

    几种条件测试语句

    文件测试操作符

    字符串测试操作符

    整数二元比较操作符

    逻辑操作符

    测试表达式 test 、[] 、[[]] 、 (()) 的区别

    if 条件判断语句

    case 条件判断语句

    for循环语句

    while循环语句

    Break、Continue、exit 循环控制语句

    Shell脚本执行scrapy爬虫和python脚本


    Shell

    Shell是一个命令解释器,它的作用是解释执行用户输入的命令及程序等。 用户每输入一条命令,Shell就执行一条。这种从键盘输入命令,就可以立即得到回应的对话方式,称为交互的方式。

    当命令或程序语句不在命令行下执行,而是通过一个程序文件来执行时,该程序文件就被称为Shell脚本。 在Shell脚本里内置了很多命令、语句及循环控制,然后将这些命令一次性执行完毕,这种通过文件执行脚本的方式称为非交互的方式。 Shell脚本语言很适合用于处理纯文本型的数据,而Linux系统中几乎所有的配置文件、日志文件,以及绝大对数的启动文件都是纯文本类型的文件。
    Shell 脚本的类型
    Shell脚本语言是弱类型语言(无须定义变量的类型即可使用),在Unix/Linux中主要有两大类shell: 
    一类是 Bourne  shell ,另一类是 C shell

    1. Bourne shell 包括 Bourne shell (sh)、Korn shell(ksh)、Bourne Again Shell 三种类型。 
    2. C shell包括csh、tcsh两种类型

    查看系统默认的shell: echo  $SHELL
    查看系统支持的shell: cat  /etc/shells

    Shell脚本的执行

    Shell脚本的执行通常可以采用以下几种方式。

    1、bash script-namesh script-name     这是当脚本文件本身没有执行权限时常使用的方法

    2、path/script-name./script-name    在当前路径下执行脚本,需要将脚本文件的权限改为可执行。然后使用脚本的绝对路径或相对路径就可以直接执行脚本了。

    3、source script-name.  script-name 这种方法通常是使用source或 “.”(点号)读入或加载指定的Shell脚本文件,然后依次执行指定的Shell脚本中的语句。这些语句将在当前父 shell 脚本进程中执行(其他几种模式都会启用新的进程执行该脚本进程)。

    Shell脚本编写规范

    Shell脚本的开发规范及习惯非常重要,虽然这些规范不是必须要遵守的,但有了好的规范和习惯,可以大大提升开发效率,并能在后期降低对脚本的维护成本。

    1、一个规范的Shell脚本在第一行会指出由哪个程序(解释器)来执行脚本中的内容,这一行内容在Linux bash的编程一般为:#!/bin/bash  或 #!  /bin/sh     bash 与 sh 的区别 , sh 为 bash的软连接,大多数情况下,脚本使用“#!/bin/bash”和“#!/bin/sh”是没有区别的,但更规范的写法是在脚本的开头使用    #!/bin/bash 

    2、在shell脚本中,跟在 # 后面的内容表示注释,用来对脚本进行注释说明,注释部分不会被当做程序来执行,仅仅是给开发者和使用者看的,系统解释器是看不到的,更不会执行。注释可以自成一行,也可以跟在脚本命令的后面与命令在同一行。 注释尽量不要使用中文,在脚本中最好也不要有中文。

    3、Shell脚本的开头会加版本、版权等信息

    # Date:16:29 2018-10-20 
    # Author: Create by xiaoxie
    # Description: This script function is …… 
    # Version: 1.1 

    4、在shell脚本中尽量不用中文注释,尽量用英文注释,防止本机或切换系统环境后中文乱码的困扰。

    5、Shell脚本的命名应以.sh为扩展名 例如:1.sh

    6、成对的符号应尽量一次性写出来,然后退格在符号内增加内容,以防止遗漏。这些成对的符号包括: {}、[]、‘’、“”  等

    7、中括号[]两端至少要有1个空格,因此,键入中括号时即留出空格[  ],然后在退格键入中间内容,并确保两端都至少由一个空格。

    8、对于流程控制语句,应一次性将格式写完,再添加内容。 如:一次性完成for循环语句的格式

    for
    do
         内容
    done

    9、通过缩进让代码更易读,如:

    if 条件内容     
           then         
                内容 
    fi 

    10、对于常规变量的字符串定义变量值应加双引号,并且等号前后不能有空格,需要强引用的,则用单引号(‘’),如果是命令的引用,则用反引号(``)。

    11、脚本中的单引号、双引号及反引号必须为英文状态下的符号。

    Shell 中的变量

    简单地说,变量就是用一个固定的字符串(也可能是字符、数字等的组合)代替更多、更复杂的内容,该内容里可能还会包含变量、路径、字符串等其他内容。 变量是暂时存储数据的地方及数据标记,所存储的数据存在于内存空间中,通过正确地调用内存中变量的名字就可以读取出与变量对应的数据。

    变量的赋值方法为: 先写变量名称,紧接着是 "=" ,最后是值。中间无任何空格。 通过echo命令加上  $变量名,即可输出变量的值。 双引号,以防止出错变量的值一般要加上。

    定义变量时变量名建议用大写,如  A=xie     B=99

    read  -p  “提示信息”   变量名      #交互式赋值方法

    查看变量内容 echo $A  或  echo ${A}

    赋值时使用引号的作用

    • 双引号:允许通过$符号引用其他变量值
    • 单引号:禁止引用其他变量值,$视为普通字符
    • 反撇号:命令替换,提取命令执行后的输出结果 全局变量的定义方法 export 变量名

    位置参数

    位置参数是一种在调用 Shell 程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数。 位置参数之间用空格分隔,Shell取第一个位置参数替换程序文件中的 $1,第二个替换 $2 , 依次类推。$0 是一个特殊变量,它的内容是当前这个shell程序的文件名,所以 $0 不是一个位置参数。

    假如我现在有一个 1.sh脚本文件,内容如下

    #! /bin/bash
    echo $1
    echo $(($2+$3))
    

    当我执行时,我在文件名后加3个参数

    预定义变量

    预定义变量和环境变量相类似,也是在Shell一开始就定义的变量,不同的是,用户只能根据shell的定义来使用这些变量,所有预定义变量都是由符号“$”和另一个符号组成。 常见的Shell预定义变量有以下几种。

    • $# :位置参数的数量
    • $* :所有位置参数的内容
    • $? :命令执行后返回的状态,0表示没有错误,非0表示有错误
    • $$ :当前进程的进程号
    • $! :后台运行的最后一个进程号
    • $0 :当前执行的进程名

    假如我现在有一个 1.sh脚本文件,内容如下

    #! /bin/bash
    
    echo $1
    echo ${2}+${3}
    
    echo $#             #打印出位置参数的数量
    echo $*             #打印出位置参数的内容
    echo $?             #打印出命令执行后返回的状态
    echo $$             #打印出当前进程的进程号
    echo $0             #打印出当前进程的进程名
    

    当我执行时,我在文件名后加3个参数

    参考文章:Linux中环境变量的设置

    变量的算术运算

    Shell中常见的算术运算符

    Shell 中常见的算术运算命令

    双小括号 (())  数值运算命令的用法

    双小括号 (()) 的作用是进行数值运算与数值比较,它的效率很高,用法灵活,是Linux下常用的运算操作符。其操作方法如下:

    let 运算命令的用法

    let运算命令的语法格式为: let 赋值表达式  

    let 赋值表达式的功能等同于“((赋值表达式))” 范例:  给变量 i 加8

     

    expr 命令的用法

    1、expr 用于运算 
       语法:expr 表达式 
       范例:expr 2 + 2 ; expr 2 – 2 ; expr 2  \*  2 ;  expr 2  /  2    
       注意:运算符号和数字之间要有空格!!

    2、expr配合变量计算

    expr在Shell中可配合变量进行计算,但需要用反引号将计算表达式括起来。

    3、利用 expr 计算字符串的长度

    br 命令的用法

    bc 是UNIX/Linux下的计算器,除了作为计算器来使用,还可以作为命令行计算工具使用

    交互模式 在shell命令行直接输入 bc 及能进入bc语言的交互模式

    bc也可以进行非交互式的运算,方法是与 echo 一起使用,所以我们就可以写在脚本里面

    $[] 符号的运算示例

    Shell脚本的条件测试

    通常,在shell的各种条件结构和流程控制结构中都要进行各种测试,然后根据测试结果执行不同的操作,有时候也会与 if 等条件语句相结合,来完成测试判断,以减少程序运行错误。

    几种条件测试语句

    文件测试操作符

    常用文件测试操作符 说明
    -d   , d的全拼为 directory 文件存在且为目录则为真
    -f   ,   f的全拼为  file 文件存在且为文件则为真
    -e , e的全拼为 exists 文件存在则为真
    -s ,s的全拼为 size 文件存在且大小不为0则为真
    -r ,r的全拼为 read 文件存在且可读则为真
    -w ,w的全拼为write 文件存在且可写则为真
    -x ,x的全拼为executable 文件存在且可执行则为真
    -L ,L的全拼为link 文件存在且为链接文件则为真
    f1 -nt  f2  ,nt的全拼为 newer than 文件f1比文件f2新则为真
    f1 -ot f2 ,ot的全拼为older than 文件f1比文件f2旧则为真

    注:(())不能用于文件测试,文件测试一般常用的是 []

    字符串测试操作符

    常用字符串测试操作符 说明
    -n   若字符串长度不为0,则为真
    -z 若字符串长度为0,则为真
    “字符串1”  ==  “字符串2” 若字符串1等于字符串2,则为真
    “字符串1”  !=  “字符串2” 若字符串1不等于字符串2,则为真

    注: == 和 !=  两端要有空格  ,(())不能用于字符测试

    整数二元比较操作符

    在[]以及test中使用的比较符号 在(())和[[]]中使用的比较符号 说明
    -eq == 或 = 相等,全拼为  equal
    -ne !=

    不相等,全拼为 not equal

    -gt > 大于,全拼为 greater than
    -ge >= 大于等于,全拼为 greater equal
    -lt < 小于,全拼为 less than
    -le <= 小于等于 ,全拼为less equal
    • "="和"!="也可以在[]中作比较使用,但在[]中使用包含"<"和">"的符号时,需要用反斜线转义,有时不转义虽然语法不会报错,但是结果可能不对。
    • 也可以在[[]]中使用包含“-gt”和“-lt”的符号,但是不建议使用
    • 比较符号两端也要有空格,[] (())  [[]]  两端都要有空格

    逻辑操作符

    在[]和test中使用的操作符 在[[]]和(())中使用的操作符 说明
    -a && and ,与,两端都为真,才为真
    -o || or ,或, 两端有一个为真,就为真
    ! ! not ,非, 两端相反,则结果为真

    测试表达式 test 、[] 、[[]] 、 (()) 的区别

    测试表达式符号 test [] [[]] (())
    边界是否需要空格 需要 需要 需要 不需要
    逻辑操作符 ! 、-a、 -o ! 、-a、 -o ! 、&& 、 || ! 、&& 、 ||
    整数比较操作符 -eq 、 -gt 、-lt、-ge 、-le -eq 、 -gt 、-lt、-ge 、-le -eq 、 -gt 、-lt、-ge 、-le 或  = 、>  、< 、 >= 、 <= = 、>  、< 、 >= 、 <=
    字符串比较操作符 = 、 == 、!= = 、 == 、!= = 、 == 、!= 不支持
    文件操作 -d、-f、-e、-r、-s、-w、-x、-L、-nt、-ot -d、-f、-e、-r、-s、-w、-x、-L、-nt、-ot -d、-f、-e、-r、-s、-w、-x、-L、-nt、-ot 不支持
    是否支持通配符匹配

    不支持

    不支持 支持 不支持

    if 条件判断语句

    #####单条件判断##############
    if  条件判断
      then 
          命令
    else
          命令
    fi
    
    #或
    
    if  条件判断;then 
         命令
    else
         命令
    fi

    ###双条件判断#####
    if 条件判断
      then
          命令
    elif 条件判断
      then 
          命令
    else
       命令
    fi
    
    ##或
    if 条件判断;then
        命令
    elif 条件判断;then 
        命令
    else
        命令
    fi
    

    if语句对于字符串的匹配

    case 条件判断语句

    case条件语句相当于多分支的if/elif/ellse条件语句,但是它比这些条件语句看起来更规范更工整,常被应用于实现系统服务启动脚本等企业应用场景中。

    case  变量  in
            one)
                命令
    ;;
            two)
                 命令
    ;;
             *) 
                 命令
    esac

    for循环语句

    for  条件
    do
       命令
    done
    
    ##或
    
    for  条件;do
       命令
    done

     

    while循环语句

    while  条件
    do
       命令
    done

    Break、Continue、exit 循环控制语句

    break 、continue在条件语句及循环语句(for、while、if等)中用于控制程序走向;而exit则用于终止所有语句并退出当前脚本。

    命令 说明
    break   n 如果省略 n ,则表示跳出整个循环,n 表示跳出循环的成熟
    continue n 如果省略 n ,则表示跳过本次循环,忽略本次循环的剩余代码,进行循环的下一次循环。n表示退到第 n 层继续循环
    exit n 退出当前 shell 程序,n 为上一次程序执行的状态返回值。n 也可以省略,在下一个 shell 里可通过  $?  接收 exit  n 的n值

    Shell脚本执行scrapy爬虫和python脚本

    #! /bin/bash
    cd /opt/project/
    scrapy crawl xx
    python3 test.py

     

    展开全文
  • VSCode 编写 Shell 脚本

    万次阅读 2019-11-21 09:42:05
    VSCode 编写 Shell 脚本 用到的插件: shellman: 语法提示 shell-format: 格式化 shellcheck: 语法错误检查 Remote-WSL(可选): 远程打开WSL(子系统) 上的目录, 运行 shell shellman 直接从应用市场安装即可 shell-...

    VSCode 编写 Shell 脚本

    用到的插件:

    • shellman: 语法提示
    • shell-format: 格式化
    • shellcheck: 语法错误检查
    • Remote-WSL(可选): 远程打开WSL(子系统) 上的目录, 运行 shell

    shellman

    直接从应用市场安装即可

    shell-format

    前提:

    • shell-format依赖于 shfmt

    • shell-format会调用本地的 shfmt 可执行文件.

    • 如果要使用 shell-format, 必须要下载 shfmt

    • shfmt的各个版本在发行页

    使用:

    1. 比如下载 shfmt_v3.0.0-beta1_windows_amd64 版本

    2. 把文件名重命名短一点, 然后放到 ‪D:\App\shfmt_v3.0.0.exe 目录下

    3. 从VSCode的商店安装 shell-format

    4. 打开配置文件 setting.json 添加如下配置:

      "shellformat.path": "D:\\App\\shfmt_v3.0.0.exe", 
      "shellformat.flag": "-i=2 -sr -kp -ci",
      

      shellformat.path 用来指定 shfmt 的路径

      shellformat.flag 表示功能配置. 具体内容参考 shfmt

      # like -i=4
      indent_style = space
      indent_size = 4
      
      shell_variant      = posix # like -ln=posix
      binary_next_line   = true  # like -bn
      switch_case_indent = true  # like -ci
      space_redirects    = true  # like -sr
      keep_padding       = true  # like -kp
      

    shellcheck

    前提:

    使用前说明:

    • 在 shellcheck 的可执行文件中, 也包含 windows 版本, 但是不知道为什么不可用.
    • 将 shellcheck的 Linux 版本安装到 WSL(子系统) 中. 然后配置使用 WSL 中的shellcheck

    使用:

    1. 安装 WSL – 具体内容可以百度

      1. 控制面板 中找到 启用或关闭WIndows功能
      2. 在列表的最下面找到 适用于 Linux 的 Windows 子系统, 在前面的 打勾确定.
      3. 电脑会提示重启.
      4. 重启后, 在 应用商店 里搜索 Linux , 选择 Ubuntu 安装.
      5. 添加用户, 设置密码. root密码可以用 sudo passwd root 来设置.
    2. 下载 shellcheck 的 Linux 版本, 放在D盘下面, 路径为: ‪D:\shellcheck-stable.linux.x86_64.tar.xz

    3. 开始 菜单打开 Ubuntu , 从 Windows 中复制到 Linux 中 /usr/local/bin

      sudo cp /mnt/d/shellcheck-stable.linux.x86_64.tar.xz /usr/local/bin
      
    4. 解压 shellcheck-stable.linux.x86_64.tar.xz

      sudo xz -d shellcheck-stable.linux.x86_64.tar.xz
      sudo tar -xvf shellcheck-stable.linux.x86_64.tar
      

      要解压两边

    5. 解压后得到 shellcheck-stable 目录, 里面有三个文件

      LICENSE.txt  README.txt  shellcheck
      
    6. shellcheck 移动到 /usr/local/bin 目录下

      mv /usr/local/bin/shellcheck-stable /usr/local/bin
      
    7. 从 VSCode 安装 shellcheck 的插件

    8. 修改配置文件 setting.json

      "shellcheck.enable": true,
      "shellcheck.useWSL": true,
      

      也可以通过可视化配置.

    Remote-WSL(可选)

    运行 shell 脚本的方法有很多, 用 git 中的 bash 也是很好的选择.

    Remote-WSL的作用就像是在 Linux 上安装一个 VSCode, 直接编辑 Linux 上的文件.

    错误提示:

    Syntax error: Bad for loop variable
    

    原因:

    从 ubuntu 6.10 开始,ubuntu 就将先前默认的 bash shell 更换成了 dash shell;其表现为 /bin/sh 链接倒了 /bin/dash 而不是传统的 /bin/bash。

    $ ls -l /bin/sh
    lrwxrwxrwx 1 root root 4 Aug 12 14:29 /bin/sh -> dash
    

    所以在使用 sh 执行检测的时候实际使用的是 dash,而 dash 不支持这种 C 语言格式的 for 循环写法。

    解决办法:

    1. 将默认 shell 更改为 bash。(bash 支持 C 语言格式的 for 循环)

      sudo dpkg-reconfigure dash
      

      在选择项中选 No

    2. 直接使用 bash :

      bash -n xxx.sh
      
    3. 为了确保 shell 脚本的可移植性,直接更改 shell 脚本,使用 shell 支持的 for 循环格式:

      for a in `seq $num`
      
    展开全文
  • linux下编写shell脚本

    2016-12-13 11:38:54
    linux下编写shell脚本

    1. 建立sh文件

    vim hello.sh

    2. 编写内容

    #!/bin/sh
    /opt/jetty/bin/jetty.sh restart

    3. 配置访问权限
    chmod +x hello.sh

    4. 执行文件
    ./hello.sh
    展开全文
  • 编写Shell脚本命令

    千次阅读 2019-01-09 20:03:20
    编写Shell脚本命令 参数处理 参数处理主要有两种实现方式: 1. 不使用getops #!/bin/sh # POSIX die() { printf '%s\n' "$1" &gt;&amp;2 exit 1 } # Initialize all the option variables. #...

    编写Shell脚本命令

    参数处理

    参数处理主要有两种实现方式:

    1. 不使用getops

    
    #!/bin/sh
    # POSIX
    
    die() {
        printf '%s\n' "$1" >&2
        exit 1
    }
    
    # Initialize all the option variables.
    # This ensures we are not contaminated by variables from the environment.
    file=
    verbose=0
    
    while :; do
        case $1 in
            -h|-\?|--help)
                show_help    # Display a usage synopsis.
                exit
                ;;
            -f|--file)       # Takes an option argument; ensure it has been specified.
                if [ "$2" ]; then
                    file=$2
                    shift
                else
                    die 'ERROR: "--file" requires a non-empty option argument.'
                fi
                ;;
            --file=?*)
                file=${1#*=} # Delete everything up to "=" and assign the remainder.
                ;;
            --file=)         # Handle the case of an empty --file=
                die 'ERROR: "--file" requires a non-empty option argument.'
                ;;
            -v|--verbose)
                verbose=$((verbose + 1))  # Each -v adds 1 to verbosity.
                ;;
            --)              # End of all options.
                shift
                break
                ;;
            -?*)
                printf 'WARN: Unknown option (ignored): %s\n' "$1" >&2
                ;;
            *)               # Default case: No more options, so break out of the loop.
                break
        esac
    
        shift
    done
    
    # if --file was provided, open it for writing, else duplicate stdout
    if [ "$file" ]; then
        exec 3> "$file"
    else
        exec 3>&1
    fi
    
    # Rest of the program here.
    # If there are input files (for example) that follow the options, they
    # will remain in the "$@" positional parameters.
    
    

    这种方式:
    缺点——不能把-xyz解析为-x -y -z
    优点——可以解析长的参数,如:--file

    2. 使用getops

    
    #!/bin/sh
    
    # Usage info
    show_help() {
    cat << EOF
    Usage: ${0##*/} [-hv] [-f OUTFILE] [FILE]...
    Do stuff with FILE and write the result to standard output. With no FILE
    or when FILE is -, read standard input.
    
        -h          display this help and exit
        -f OUTFILE  write the result to OUTFILE instead of standard output.
        -v          verbose mode. Can be used multiple times for increased
                    verbosity.
    EOF
    }
    
    # Initialize our own variables:
    output_file=""
    verbose=0
    
    OPTIND=1
    # Resetting OPTIND is necessary if getopts was used previously in the script.
    # It is a good idea to make OPTIND local if you process options in a function.
    
    while getopts hvf: opt; do
        case $opt in
            h)
                show_help
                exit 0
                ;;
            v)  verbose=$((verbose+1))
                ;;
            f)  output_file=$OPTARG
                ;;
            *)
                show_help >&2
                exit 1
                ;;
        esac
    done
    shift "$((OPTIND-1))"   # Discard the options and sentinel --
    
    # Everything that's left in "$@" is a non-option.  In our case, a FILE to process.
    printf 'verbose=<%d>\noutput_file=<%s>\nLeftovers:\n' "$verbose" "$output_file"
    printf '<%s>\n' "$@"
    
    # End of file
    
    

    如何使用getops 如果选项有值,就在选项后加:, 如a:b:c, 则a和b有值,而c无值。对于有值的选项处理,使用$OPTARG来取值。

    优点:

    • 可以处理-xyz filename这样的参数

    缺点:

    • 只能处理短的选项, 如-h

    编写脚本内容

    参数校验

    使用[[ "$a" == "" ]] || [[ "$b" == "" ]]等判断,然后使用

    
    echo "Error Message" >&2
    exit 1
    
    

    来实现错误退出

    【参考文档】:

    http://mywiki.wooledge.org/BashFAQ/035#getopts

    展开全文
  • Linux编写shell脚本执行多个命令

    千次阅读 2020-06-04 21:22:27
    Linux下编写shell脚本批量执行多个命令
  • Shell脚本 ...编写Shell脚本 1.编写脚本。Shell脚本就是普通的文本文件。使用vim,gedit,kate等众多编辑器均可完成。 格式:(以"hello world"为例) #!/bin/bash # This is our first...
  • 如何编写Shell脚本

    千次阅读 2019-06-06 17:19:00
    什么是shell脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。shell script是一种解释型语言,必须由解释器来执行这些脚本,执行时,解释器将脚本一行一行地转换为代码。 这个解释器就是Shell,它...
  • /bin/bash2、将文档格式转换为unix,因为在windows下编写shell脚本回车符是\n\r,而linux下的回车符是\n,所以在linux下运行脚本的时候,需要修改下脚本的的编码格式。 以VScode为例,改变编码方式: 将CRLF变为LF...
  • 编写shell脚本执行springboot项目 jar包

    千次阅读 2019-03-23 15:26:13
    2.编写shell脚本 #!/bin/sh ######### java 此处是指定jdk启动 export JAVA_HOME=/home/java/jdk1.8.0_181 export JRE_HOME=$JAVA_HOME/jre ##此处是打包的jar包名称,不带.jar后缀 API_NAME=demo JAR_NAME=$API_...
  • 编写shell脚本,计算1-100的和;

    万次阅读 2018-06-25 13:07:15
    编写shell脚本,计算1-100的和; #!/bin/bash sum=0 for i in `seq 1 100` do sum=$[$i+$sum] done echo $sum 转载:https://www.cnblogs.com/HondaHsu/p/4241798.html
  • Ubuntu系统编写shell脚本程序一次安装多个软件包 编写shell脚本程序一次安装多个软件,主要用于一些软件依赖环境配置。 1、shell脚本程序必须以下面的行开始(必须方在文件的第一行):  #!/bin/sh 符号#!...
  • Ubuntu系统编写shell脚本程序一次安装多个软件包, 编写shell脚本程序一次安装多个软件,主要用于一些软件依赖环境配置。
  • 编写shell脚本,判断输入的IP是否正确(IP的规则是,n1.n2.n3.n4,其中1 #! /bin/bash checkip() { if echo $1 |egrep -q '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$' ; then a=`echo $1 | awk -F. '{...
  • 编写shell脚本和执行

    千次阅读 2010-12-30 13:16:00
    这次的学习内容: 认识shell,如何编写shell脚本和执行 Shell 其实就是一个解释执行命令的程序, 所谓shell编程其实就是用一定的语法将各种基本的命令组合起来,让shell程序去解释执行。 如果对...
  • linux 下使用expect编写shell 脚本交互访问远程服务器 使用命令行登陆远程服务器一般需要ip地址以及登陆密码等,每次都手动输很不方便,expect可以满足自动输入密码。 首先安装expect 然后编写脚本 然后修改权限...
  • 如何编写shell脚本

    2018-03-27 18:28:29
    shell 脚本 就是.sh 的可执行文件,执行后,里面写的代码就依次被执行了;1. 创建.sh 的文件 , 如: helloworld.sh2. vi 命令编辑文件内容(内容根据需求自己写,但都是linux执行语句 )3. chmod 修改文件具有可执行...
  • 教你如何编写shell脚本

    千次阅读 2020-07-15 10:21:23
    在一些复杂的Linux维护工作,大量重复性的输入与交互操作不但费时费力,而且容易出错,而编写一个恰好片的shell脚本程序,可以批量处理、自动化地完成一系列维护任务,大大减轻管理员的负担。 1、shell脚本应用场景 ...
  • 在linux上安装mysql并建立测试库,编写shell脚本对此库使用mysqldump进行定时备份和历史备份文件清理(保留3天),注意脚本的通用性和扩展性 1 mysq数据库的安装 #安装服务端yum install mysql-server yum install...
  • 在linux中编写shell脚本的流程的简单说明 1、使用vim或者gedit建立一个文件,通常来说会用.sh作为文件后缀 2、以 “#!/bin/bash”为第一行语句,其中“#!”被称为“Sha-Bang”符号,是shell脚本的起始符号...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 143,028
精华内容 57,211
关键字:

编写shell脚本