博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速入门Shell脚本(1)——Shell脚本的介绍
阅读量:3953 次
发布时间:2019-05-24

本文共 1644 字,大约阅读时间需要 5 分钟。

在这里插入图片描述

1.什么是shell

同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

2.Shell概述

大数据程序员为什么要学习Shell呢?

  1. 需要看懂运维人员编写的Shell程序。
  2. 偶尔会编写一些简单Shell程序来管理集群、提高开发效率。
    在这里插入图片描述

3.shell解析器

  1. Linux提供的Shell解析器有:

[root@node01 bin]# cat /etc/shells

/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

  1. bash和sh的关系

[root@node01 bin]# ll | grep bash

-rwxr-xr-x. 1 root root 942200 3月 23 2017 bash
lrwxrwxrwx. 1 root root 4 1月 4 2020 sh -> bash

  1. Centos默认的解析器是bash

[root@node01 bin]# echo $SHELL

/bin/bash

4.Shell脚本入门

1.脚本格式

脚本以开头#!/bin/bash(指定解析器)
2.第一个Shell脚本:helloworld
(1)需求:创建一个Shell脚本,输出helloworld
(2)案例实操:

[root@node01 bin]$ touch helloworld.sh [root@node01 bin]$ vi helloworld.sh #在helloworld.sh中输入如下内容#!/bin/bashecho "helloworld"

(3)脚本的常用执行方式

第一种:采用bash或sh+脚本的相对路径或绝对路径(不用赋予脚本+x权限) sh+脚本的相对路径=

[root@node01 bin]$ sh helloworld.sh Helloworld#sh+脚本的绝对路径[root@node01 bin]$ sh /home/atguigu/datas/helloworld.sh helloworld#bash+脚本的相对路径[root@node01 bin]$ bash helloworld.sh Helloworld#bash+脚本的绝对路径[root@node01 bin]$ bash /home/atguigu/datas/helloworld.sh Helloworld

第二种:采用输入脚本的绝对路径相对路径执行脚本(必须具有可执行权限+x)

(a)首先要赋予helloworld.sh 脚本的+x权限

[root@node01 bin]$ chmod 777 helloworld.sh

(b)执行脚本

[root@node01 bin]$ ./helloworld.sh Helloworld

绝对路径

[root@node01 bin]$ /home/atguigu/datas/helloworld.sh Helloworld

注意第一种执行方法,本质是bash解析器帮你执行脚本,所以脚本本身不需要执行权限。第二种执行方法,本质是脚本需要自己执行,所以需要执行权限。

3.第二个Shell脚本:多命令处理
(1)需求:
在/home/atguigu/目录下创建一个banzhang.txt,在banzhang.txt文件中增加“I love cls”。
(2)案例实操:

[root@node01 bin]$ touch batch.sh[root@node01 bin]$ vi batch.sh#在batch.sh中输入如下内容#!/bin/bashcd /home/atguigutouch cls.txtecho "I love cls" >>cls.txt

转载地址:http://nokzi.baihongyu.com/

你可能感兴趣的文章
字符数组的位置决定程序能否成功执行--不明白
查看>>
拷贝代码时没有仔细检查,导致误修改了函数参数
查看>>
MySQL批量导入数据SQL语句(CSV数据文件格式)
查看>>
ADO连接Oracle
查看>>
遍历Windows系统中所有进程的名字(*.exe)
查看>>
进程看门狗
查看>>
线程看门狗
查看>>
调试代码的宏定义
查看>>
创建、重命名文件
查看>>
文件大小保护
查看>>
删除指定目录下所有文件及目录
查看>>
XDR-从文件空间解码整数
查看>>
XDR-.x文件的简单使用
查看>>
XDR-枚举的试用
查看>>
使用CppSQLite3访问SQLite数据库
查看>>
第一个boost程序---timer的使用
查看>>
使用boost asio库实现字节数可控的CS通信
查看>>
linux下串口编程
查看>>
boot asio 非阻塞同步编程---非阻塞的accept和receive。
查看>>
利用ADOX、ADO操纵MDB文件(ACCESS)
查看>>