当前位置:网站首页>什么是Shell?从小白到入门你只差一个它
什么是Shell?从小白到入门你只差一个它
2022-08-08 18:26:00 【InfoQ】
一、编程语言介绍
编程语言分类
- 编译型语言
- 程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、java
- 解释型语言
- 程序不需要编译,程序在运行时由解释器翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。比如Python/JavaScript/ Perl /ruby/Shell等都是解释型语言
二、shell介绍

1、shell介绍

2、bash shell基本特性
2.1、 命令和文件自动补全
2.2、 常见的快捷键—提升操作熟练度
^c 终止前台运行的程序
^z 将前台运行的程序挂起到后台
^d 退出 等价exit
^l 清屏
^a |home 光标移到命令行的最前端
^e |end 光标移到命令行的后端
^u 删除光标前所有字符
^k 删除光标后所有字符
^r 搜索历史命令
3、shell脚本介绍
shell脚本精髓 学会60%
脚本命令演示
创建一个用户:harry useradd harry
密码设置为:redhat echo "redhat"|passwd --stdin harry
该用户创建文件夹/tmp/liza mkdir /tmp/liza
该用户创建文件/tmp/liza/README touch /tmp/liza/README
将“hello world“输入到/tmp/liza/README echo 'hello world' > /tmp/liza/README
实现代码 命名:task.sh
#!/bin/bash
#DESC: this is a test script
#AUTHOR: Bai Shuming
#RELEASE: 1.0
#main
#创建用户harry
useradd harry
#设置用户密码 yunwei.98989
echo "redhat"|passwd --stdin harry
#使用harry创建文件夹,文件,输入文件中内容
su - harry -c "mkdir /tmp/liza"
su - harry -c "touch /tmp/liza/README"
su - harry -c "echo 'hello world' > /tmp/liza/README"
4、shell脚本语法

- 脚本命名nginx_install.sh 脚本名称 脚本扩展名 .sh名字不要太长 26个字节内
- 代码规范:
1、#!/bin/bash
//脚本第一行, #!魔法字符,指定脚本代码执行的程序。即它告诉系统这个脚本需要什么解释器来执行,也就是使用
哪一种Shell
2、#代表注释,#!特例
3、//以下内容是对脚本的基本信息的描述,大家可以根据实际情况尽可能的写详细一些,方便后续使用者
# Name: 脚本名字
# Desc:描述describe
# Path:存放路径
# Usage:用法
# Update:更新时间
# Author:作者
# Release: 分发版本
//下面就是脚本的具体内容
commands
...
- 脚本执行方法:– 标准脚本执行方法(建议):
[[email protected] shell01]# cat 1.sh
#!/bin/bash
#xxxx
#xxx
#xxx
hostname
date
[[email protected] shell01]# chmod +x 1.sh
[[email protected] shell01]# ll
total 4
-rwxr-xr-x 1 root root 42 Jul 22 14:40 1.sh
[[email protected] shell01]# /shell/shell01/1.sh
zutuanxue
Sun Jul 22 14:41:00 CST 2018
[[email protected] shell01]# ./1.sh
liza
Sun Jul 22 14:41:30 CST 2018
[[email protected] shell01]# bash 1.sh
liza
Sun Jul 22 14:42:51 CST 2018
[[email protected] shell01]# sh 1.sh
liza
Sun Jul 22 14:43:01 CST 2018
[[email protected] shell01]#
[[email protected] shell01]# bash -x 1.sh
+ hostname
liza
+ date
Sun Jul 22 14:43:20 CST 2018
-x:一般用于排错,查看脚本的执行过程
-n:用来查看脚本的语法是否有问题
注意:如果脚本没有加可执行权限,不能使用标准的执行方法执行,bash 1.sh
其他:
[[email protected] shell01]# source 2.sh
server
Thu Nov 22 15:45:50 CST 2018
[[email protected] shell01]# . 2.sh
server
Thu Nov 22 15:46:07 CST 2018
source 和 . 表示读取文件,执行文件里的命令
边栏推荐
- How to add F4 Value Help trial version to the input parameters of the report in the ABAP report
- 【761. 特殊的二进制序列】
- Learn about layered architecture & SOA architecture together
- Redhat 7 Maria DB安装与配置
- JVM内存模型和结构详解(五大模型图解)
- Task-Driven Super Resolution: Object Detection in Low-resolution Images
- hdu2647 N!Again
- 一些小题22.08.07
- ABAP 报表中如何给报表的输入参数增添 F4 Value Help
- 请问在MAXCOMPUTE SQL 里有没有函数判断string 是否为数字?
猜你喜欢
OpenSSH生成的私钥如何在putty中使用?
阿里巴巴云原生大数据运维平台 SREWorks 正式开源
Fortinet new cloud native protection products launched amazon cloud platform of science and technology
【Promise.allSettled】手写Promise.allSettled方法
堆排序(Heap Sort)实现
2021年9月电子学会图形化三级编程题解析含答案:计算平均分
422B测试成功
ORACLE子查询 导致无法谓词推入的研究
面试突击:输入URL之后会执行什么流程?
性能优化|从ping延时看CPU电源管理
随机推荐
vue项目打包后的网页缓存问题
mv-lcd初始化
CS231n: 11 Generative Models
关于求最小公倍数的三种常用方法
十六、一起学习Lua 文件 I/O
常用字符的编码
01. Preface
性能问题从发现到优化一般思路
Build DG will increase the amount of lead to archive log problem
ORACLE子查询 导致无法谓词推入的研究
栈指针&& 帧指针详解
水印图像读取与制作,三通道图转为4通道,制作透明图
21天学习挑战赛——机器学习03
一些小题22.08.07
小白转行做3D游戏建模,有没有前途?
hdu1042 N! (large number)
荧光探针/近红外荧光/荧光纳米/水凝胶/纳米水凝胶pH荧光探针的研究
阿里巴巴云原生大数据运维平台 SREWorks 正式开源
Go-Excelize API源码阅读(四)——Save()
为啥程序员下班后只关显示器从不关电脑?看看各大网站的答案~