美文网首页
Shell_05_shell脚本简介

Shell_05_shell脚本简介

作者: 热爱_生活 | 来源:发表于2019-12-20 19:42 被阅读0次

一、什么是 shell script

shell script 是利用 shell 的功能所写的一个“程序 (program)”,这个程序是使用纯文本文件,将一些 shell 的语法与指令(含外部指令)写在里面, 搭配正则表达式、管道命令与数据流重导向等功能,以达到我们所想要的处理目的。

简单的说,也就是可以使用一个普通的文本,写上多条 shell 命令,一起执行这些命令。
但是,在这个文件中可以添加一些逻辑判断什么的。

二、shell script 规范

  • script 的功能;
    script 的版本信息;
    script 的作者与联络方式;
    script 的版权宣告方式;
    script 的 History (历史纪录);
    script 内较特殊的指令,使用“绝对路径”的方式来下达;
    script 运行时需要的环境变量预先宣告与设置。

三、简单脚本练习

vim show-name.sh

#!/bin/bash
# Program:
#    User inputs 2 integer numbers; program will cross these two numbers.
# History:
# 2015/07/16    VBird    First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
echo -e "You SHOULD input 2 numbers, I will multiplying them! \n"
read -p "first number:  " firstnu
read -p "second number: " secnu
total=$((   ${firstnu}   *    ${secnu}  ))
echo -e "\nThe result of ${firstnu} x ${secnu} is ==> ${total}"

四、执行脚本方式 (source script, sh script, ./script)

source script

父进程中执行脚本中代码

image

sh script

子进程中执行脚本中的代码,相当于打开了一个子 shell ,一个全新的环境。

image

五、script 的默认变量

特殊变量(重要)

$# :代表后接的参数“个数”,以上表为例这里显示为“ 4 ”;
$@ :代表 "$1" "$2" "$3" "$4" 之意,每个变量是独立的(用双引号括起来);
$* :代表"$1<u>c</u>$2<u>c</u>$3<u>c</u>$4",其中 <u>c</u> 为分隔字符,默认为空白键, 所以本例中代表 "$1 $2 $3 $4"之意。

位置变量

位置变量是根据命令出现在命令行上的位置来确定的变量,在shell调用过程中,会按参数所在的位置进行调用。

  • 命令(shell脚本名) 参数1 参数2 参数3

$0    $1     $2     $3  ...$9

例如:

wc /etc/passwd /etc/group

例如:

编辑一个任意文件(这里是 position-arg.sh),写入如下内容

#!/bin/bash
echo "this scriptname is $0"
echo "this 1st argument is $1"
echo "this 2nd argument is $2" 
echo "this 3rd argument is $3"
echo "参数分别为$*"
echo "共有$#个arguments"

此脚本地执行时,使用sh执行即可

sh    position-arg.sh  a b c  d  e

相关文章

  • Shell_05_shell脚本简介

    一、什么是 shell script shell script 是利用 shell 的功能所写的一个“程序 (pr...

  • [shell脚本]-shell脚本简介

    1.简介 shell脚本就是将一系列需要执行的命令写入文件,通过各类不同的解释器来执行文件,从而达到和linux操...

  • shell脚本简介

    username@hostname $root@hostname #$ 表示普通用户,# 表示管理员用户root,...

  • shell脚本简介

    脚本简介 shell script是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,就是将一些she...

  • shell脚本简介

    什么是shell? shell其实是一个命令解释器,它的作用是解释用户输入的命令和程序,命令和程序可以理解成我们图...

  • shell脚本简介

    特别说明:以下内容来自简书,链接为原文出处,一切权益归原作者所有,在此感谢原作者的分享,大家可以点击以下链接查看原...

  • Bash 脚本简介

    【注】本文译自: An Introduction to Bash Scripting[https://www.de...

  • 小麦苗数据库巡检脚本,支持Oracle、MySQL、SQL Se

    [toc] 一、巡检脚本简介 目前一共包含8个脚本,若脚本的扩展名为“.sql”则表示该脚本为sql脚本,若脚本的...

  • Shell脚本语法

    1. Shell脚本简介Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所...

  • 七 iOS逆向 - Cycript

    Cycript简介 Cycript基本使用 封装Cycript脚本 Cycript使用示例 一 Cycript简介...

网友评论

      本文标题:Shell_05_shell脚本简介

      本文链接:https://www.haomeiwen.com/subject/oeninctx.html