Shell - [01] 概述
一、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] 概述的更多相关文章
- Shell变量概述
目录 1. Shell变量概述 1.定义变量,变量名=变量值.不能出现"-横杠"命令 2.引用变量,$变量名 3.查看变量,set显示所有变量,包括自定义变量和环境变量 4.取消变 ...
- Shell基本概述
目录 Shell01--基本概述 1. Shell课程大纲介绍 2. 什么是Shell ? 3. 什么是Shell脚本 ? 4. 为什么要学Shell编程 ? 5. 学习Shell编程需要哪些知识 ? ...
- kafka详解(01) - 概述
kafka详解(01) - 概述 定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域. 消息队列 MQ传统应用场景之异步处理 使用消 ...
- Zookeeper详解(01) -概述
Zookeeper详解(01) -概述 概念 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分 ...
- Shell 01 shell概述
1.查看shells:/etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin / ...
- linux笔记:shell基础-概述和脚本执行方式
什么是shell: linux使用的默认shell是Bash: shell脚本的后缀名为.sh,shell脚本的第一行#!/bin/bash 不是注释,而是标识这是一个shell脚本,因为linux并 ...
- Linux Shell 01 脚本与变量
一 脚本的创建和执行 1. 创建文件*.sh,文件后缀为sh 2. 编辑脚本 首行必须为:#!/bin/bash #指定解释脚本的shell 3. 赋权 chmod u+x a.sh 4. 执行 ...
- 第1章 shell编程概述
1.shell简介 shell是一种具备特殊功能的程序,它提供了用户与内核交互操作的一种接口.它用于接收用户输入的命令,并把它送入到内核去执行. shell是一种应用程序,当用户登录Linux系统时, ...
- Python学习笔记 :01概述
Python基础 首先推荐学习Python基础的教程和书籍 视频教程推荐南京大学张莉老师在cousera上的教程用Python玩转数据 入门教程<Python基础教程> 数据挖掘教程< ...
- 01 - 概述 VTK 6.0 迁移
摘要 对vtk版本4和5的管道机制重新架架构的主要目的是:迁移数据对象和算法对象中的管道执行逻辑到一个新集合的类中,我们称这个集合类叫executives.分离数据和执行模型的代码后,可以双双简化修改 ...
随机推荐
- IOS跳转到系统相册及一些其他的URL Scheme
IOS跳转到系统相册及一些其他的URL Scheme APP 间的跳转主要通过 UIApplication.shared.openURL(url) 这种方法来实现的,但iOS10 后又稍加不同,iOS ...
- git clone 需要密码
在使用Git管理代码项目的过程中,经常需要使用到git clone命令来克隆远程仓库到本地.有时候会碰到克隆远程仓库需要输入密码才能进行的情况.本文将会介绍如何解决这个问题. git clone 需要 ...
- Redis 的DB多个数据库使用
Redis 自己安装默认提供了16个数据库. 每个数据库都有一个id, 从 0 开始,(0,15). 不同的数据库中数据隔离保存.我们可以通过修改redis的配置文件进行修改数据库的数量. /etc/ ...
- docker容器内使用sudo 报错bash: sudo: command not found
解决办法: 先查看linux系统版本: cat /proc/version 1.RedHat系主要有RedHat,Fedora,CentOs等: RedHat系列的包管理工具是yum,执行 yum i ...
- Qt/C++音视频开发57-切换音视频轨道/切换节目流/分别切换音频视频轨道
一.前言 对各种音视频文件格式的支持,是一个播放器的基础功能.一般的音视频文件只有1路流,比如音频文件只有1路音频流,视频文件只有1路音频1路视频流,实践过程中发现,还有一种ts格式的文件,可能有多路 ...
- Qt/C++编写全能播放组件(支持ffmpeg2/3/4/5/6/Qt4/5/6)
一.前言 从代码层面以及自由度来说,用ffmpeg来写全能播放组件是最佳方案(跨平台最好最多.编解码能力最强),尽管已经有优秀的vlc/mpv等方案可以直接用,但是vlc/mpv对标主要是播放器应用层 ...
- Qt通用方法及类库13
函数名 //设置按钮样式 static QString setPushButtonQss(QPushButton *btn, //按钮对象 int radius = 5, //圆角半径 int pad ...
- VSCode远程开发Linux内核驱动
受够了Vim的换台电脑就要倒腾N天配置的折磨,受够了Windows下Source Insight眼花的界面.这些软件虽然很多人在用,但是缺点也不少.然而Linux内核代码非常庞大,编译内核又需要在Li ...
- 前端学习openLayers配合vue3(修改地图样式)
这一块的东西非常简单,基于上一步的继续操作 关键代码,当然对应的对象需要进行相关的引入,为了方便理解,把背景色和边框放在了一起 //填充颜色 style:new Style({ fill:new Fi ...
- Docker 多平台打包错误
1. Multi-platform build is not supported for the docker driver. 问题 因为 Docker 默认使用的 builder 不支持多架构构建镜 ...