一、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. openEuler欧拉设置git pull免密

    使用git config命令在本地全局设置用户名和邮箱 git config --global user.name "username":全局添加用户名 git config -- ...

  2. IOS多线程之NSOperation(3)

    IOS多线程之NSOperation(3) 操作优先级和服务质量 可以通过QueuePriority属性来设置operation在队列中的执行优先级 public enum QueuePriority ...

  3. Docker Compose - 向远程主机部署服务

    问题描述 通常,我们本地编写 docker-compose.yml 文件,然后运行测试.但是,我们需要在 arm64 环境中进行测试,无法在本地直接运行测试. 我们希望可以在本地编写,然后本地使用 d ...

  4. MySQL启动时自动创建数据库

    一.背景及分析 MysqL容器启动时,会自动创建一些必要的数据库,比如MysqL,这是官方默认的做法.但是,在实际中,还需要让MysqL自动创建我们自定义的数据库.本文就此应用场合进行探究. 一般的做 ...

  5. FISCO BCOS 控制台 部署合约 调用 查看已部署合约的地址

    deploy 部署合约.(默认提供HelloWorld合约和TableTest.sol进行示例使用) 参数: 合约路径:合约文件的路径,支持相对路径.绝对路径和默认路径三种方式.用户输入为文件名时,从 ...

  6. SpringBoot 2.0.0新版和SpringBoot1.5.2版本中Tomcat配置的差别(坑)

    2018年春SpringBoot 2.0.0 新版本有了很多新的改变,其中Tomcat配置上也有了很大改变1.之前老的版本TomcatEmbeddedServletContainerFactory取的 ...

  7. Spring Boot整合Thrift RPC

    [转载] https://coder4.com/homs_online/spring-boot/sb-thrift.html Spring Boot自动配置简介 在介绍RPC之前,我们先来学习下Spr ...

  8. PostgreSQL 初始化配置设置

    title: PostgreSQL 初始化配置设置 date: 2024/12/27 updated: 2024/12/27 author: cmdragon excerpt: PostgreSQL是 ...

  9. 编译Sophus报错: error: implicitly-declared 的参考解决方法

    一.问题描述 自己在编译Sophus时遇到如下错误: /home/wong/Datum/third_party/Sophus-1.0.0-template/Sophus-1.0.0/test/core ...

  10. 【狂神说Java】Java零基础学习笔记-Java方法

    [狂神说Java]Java零基础学习笔记-Java方法 Java方法01:何谓方法? System.out.println(),那么它是什么呢? Java方法是语句的集合,它们在一起执行一个功能. 方 ...