Shell是一个命令行解释器,它为用户提供了一个向 Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用 Linux系统命令。
Shell分类:
Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh。Linux的标准Shell是Bash,语法结构和Bourne Shell非常类似并且完全兼容。
Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。
/etc/shells
中可以查看Linux支持的Shell,在命令行中直接输入Shell名即可切换Shell。
系统用户的Shell是/sbin/nologin
,nologin
代表该用户不允许登录。
echo输出命令
[root@localhost ~]#echo [选项] [输出内容]
选项:-e 支持反斜线控制的字符转换
控制字符 | 作用 |
---|---|
\\ | 输出\本身 |
\a | 输出警告音 |
\b | 退格键,也就是向左删除键 |
\c | 取消输出行末的换行符。和“-n”选项一致 |
\e | ESCAPE键 |
\f | 换页符 |
\n | 换行符 |
\r | 回车键 |
\t | 制表符,也就是Tab键 |
\v | 垂直制表符 |
\0nnn | 按照八进制ASCII码表输出字符。其中0为数字零,nnn是三位八进制数 |
\xhh | 按照十六进制ASCII码表输出字符。其中hh是两位十六进制数 |
#echo -e "ab\bc"
#删除左侧字符,输出ac
#echo -e "\e[1;31m abcd \e[0m"
#输出红色的abcd
,\e[1;color str \e[0m
是输出颜色的标准用法,表示将str
以color
的颜色输出。
#30m=黑色,31m=红色,32m=绿色,33m=黄色
#34m=蓝色,35m=洋红,36m=青色,37m=白色
在编写脚本时建议将脚本文件命名为.sh
格式,这样在使用Vim的时候会有颜色帮助。我们来看下列这样一个脚本:
#!/bin/Bash
#The first program
# Author: xxxx
echo -e "Hello World"
第一行#!/bin/Bash
不是注释,而是标志以下写的程序是Shell脚本。第二、三行是注释。
脚本执行:
赋予执行权限,直接运行
$ chmod 755 hello.sh
$ ./hello.sh
通过Bash调用执行脚本#bash hello.sh
在Windows环境下编写的Shell脚本无法直接在Linux下执行,通过#dos2unix xxx.sh
命令可以将其进行转换。
原文:https://www.cnblogs.com/yangyu-IoT/p/12898255.html