当前位置:网站首页>什么是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 和 . 表示读取文件,执行文件里的命令
边栏推荐
猜你喜欢
随机推荐
Transsion Holdings: At present, there is no clear plan for the company's mobile phone products to enter the Chinese market
openEuler 社区 2022 年 7 月运作报告
响应式pbootcms模板电脑维修类网站
请问在MAXCOMPUTE SQL 里有没有函数判断string 是否为数字?
view, index
422B测试成功
We want to replace the RDS database and upgrade from sqlserver 2016 web to 2017 enterprise cluster version, with expert consultation
Numpy函数、模块、类列表
run fscript with lua
uniapp parent component uses prop to pass asynchronous data to child components
JVM内存模型和结构详解(五大模型图解)
Build DG will increase the amount of lead to archive log problem
性能优化|从ping延时看CPU电源管理
TensorFlow学习记录(七):生成对抗网络
what‘s the meaning of xenial
QT With OpenGL (Bloom) (Bloom)
请问shake数据库中mongoshake同步过程中,src_mongo挂了,同步服务不会退出吗?
重读GPDB 和 TiDB 论文引发的 HTAP 数据库再思考
堆排序(Heap Sort)实现
常用字符的编码








