一、shell是什么

Shell 是一个命令解释器,接收应用程序/用户命令去调用操作系统内核。

Shell 是一个功能强大的编程语言,易编写、易调试、灵活性强。

二、shell的解析器有哪些

[root@node ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

三、shell脚本的格式

#!/bin/bash

echo "Hello World!"

第一行指定解析器,后面是系统命令的堆积(条件、循环、匹配……)。

四、shell 脚本的执行

# bash
bash helloworld.sh
# bash + 绝对路径
bash /home/harley/helloworld.sh
# sh
sh helloworld.sh
# sh + 绝对路径
sh /home/harley/helloworld.sh # Tips: 如果helloworld.sh 有可执行权限
./helloworld.sh
# 没有可执行权限,可以先赋权,再执行
chmod +x helloworld.sh # 查看脚本的执行流程(一般使用这个命令来查看脚本执行的步骤,错误)
bash -x batch.sh # 查看脚本的语法(一般使用这个命令来查看脚本语法错误)
bash -n batch.sh

五、shell 的变量

# 系统变量
[root@node ~]# echo $HOME
/root
[root@node ~]# echo $PWD
/root
[root@node ~]# echo $SHELL
/bin/bash
[root@node ~]# echo $USER
root
[root@node ~]# # 显示当前shell中所有变量
[root@node ~]# set

自定义变量

[root@node ~]# A=3
[root@node ~]# echo $A
3
[root@node ~]# set | grep A=3
A=3
[root@node ~]# unset A
[root@node ~]# echo $A [root@node ~]# set | grep A=3
[root@node ~]#

上一篇:无

下一篇:Shell - 脚本入门 - HOUHUILIN - 博客园 (cnblogs.com)

— 要养成终生学习的习惯 —

Shell - [01] 概述的更多相关文章

  1. Shell变量概述

    目录 1. Shell变量概述 1.定义变量,变量名=变量值.不能出现"-横杠"命令 2.引用变量,$变量名 3.查看变量,set显示所有变量,包括自定义变量和环境变量 4.取消变 ...

  2. Shell基本概述

    目录 Shell01--基本概述 1. Shell课程大纲介绍 2. 什么是Shell ? 3. 什么是Shell脚本 ? 4. 为什么要学Shell编程 ? 5. 学习Shell编程需要哪些知识 ? ...

  3. kafka详解(01) - 概述

    kafka详解(01) - 概述 定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域. 消息队列 MQ传统应用场景之异步处理 使用消 ...

  4. Zookeeper详解(01) -概述

    Zookeeper详解(01) -概述 概念 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分 ...

  5. Shell 01 shell概述

    1.查看shells:/etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin / ...

  6. linux笔记:shell基础-概述和脚本执行方式

    什么是shell: linux使用的默认shell是Bash: shell脚本的后缀名为.sh,shell脚本的第一行#!/bin/bash 不是注释,而是标识这是一个shell脚本,因为linux并 ...

  7. Linux Shell 01 脚本与变量

    一 脚本的创建和执行 1. 创建文件*.sh,文件后缀为sh 2. 编辑脚本 首行必须为:#!/bin/bash   #指定解释脚本的shell 3. 赋权 chmod u+x a.sh 4. 执行 ...

  8. 第1章 shell编程概述

    1.shell简介 shell是一种具备特殊功能的程序,它提供了用户与内核交互操作的一种接口.它用于接收用户输入的命令,并把它送入到内核去执行. shell是一种应用程序,当用户登录Linux系统时, ...

  9. Python学习笔记 :01概述

    Python基础 首先推荐学习Python基础的教程和书籍 视频教程推荐南京大学张莉老师在cousera上的教程用Python玩转数据 入门教程<Python基础教程> 数据挖掘教程< ...

  10. 01 - 概述 VTK 6.0 迁移

    摘要 对vtk版本4和5的管道机制重新架架构的主要目的是:迁移数据对象和算法对象中的管道执行逻辑到一个新集合的类中,我们称这个集合类叫executives.分离数据和执行模型的代码后,可以双双简化修改 ...

随机推荐

  1. vue3和elements创建应用

    一. 创建环境 1. 创建D:\code\vue 文件夹 2. vscode打开文件夹 3. 打开终端,输入 npm install -g @vue/cli 4. 配置环境变量 终端输入:npm co ...

  2. Day01 Markdown 学习笔记

    Day01 Markdown 学习笔记 1.标题 n级标题 = n个"#" + 空格 + 标题名称 (最多6个) 2.文本 Hello World ​ Hello World ​ ...

  3. Flutter & Xcode15-beta 冲突

    安装了Xcode15-beta后运行 Flutter 一直报有两个相同的文件冲突,这时候指定一下 Xcode-beta 的位置就好了 sudo xcode-select --switch /Appli ...

  4. linux su命令卡顿,linux su特别慢问题排查

    问题:发现同机房两台同网络域的主机,一台su用户正常,一台每次都需要等5s左右. 进展:杂事儿太多没深入排查,后续又发现了几台有同样问题的主机.非常影响效率.开始入手排查 分析: 1.之前遇到过类似问 ...

  5. Qt音视频开发40-人脸识别离线版

    一.前言 上一篇文章写了在线调用人脸识别api进行处理,其实很多的客户需求是要求离线使用的,尤其是一些事业单位,严禁这些刷脸数据外泄上传到服务器,尽管各个厂家号称严格保密这些数据,但要阻止这些担心,唯 ...

  6. 欧拉OpenEuler安装MySQL8

    1. 安装mysql tar -xvf mysql-8.0.21-linux-glibc2.12-x86_64.tar mv mysql-8.0.21-linux-glibc2.12-x86_64 / ...

  7. 视频直播技术干货(十二):从入门到放弃,快速学习Android端直播技术

    本文由陆业聪分享,原题"一文掌握直播技术:实时音视频采集.编码.传输与播放",本文进行了排版和内容优化. 1.引言 从游戏.教育.电商到娱乐,直播技术的应用场景无处不在.随着移动端 ...

  8. [.NET] 单位转换实践:深入解析 Units.NET

    单位转换实践:深入解析 Units.NET 摘要 在现代软件开发中,准确处理不同单位的转换是一个常见而复杂的需求.无论是处理温度.长度.重量还是其他物理量,都需要可靠的单位转换机制.本文将深入介绍 U ...

  9. LCR 164. 破解闯关密码

    破解闯关密码 闯关游戏需要破解一组密码,闯关组给出的有关密码的线索是: 一个拥有密码所有元素的非负整数数组 password 密码是 password 中所有元素拼接后得到的最小的一个数 请编写一个程 ...

  10. ElasticSearch入门 第二篇

    集群配置----------------------------- ElasticSearch共有两个配置文件,都位于config目录下,分别是elasticsearch.yml和logging.ym ...