您的位置:首页 > 运维架构 > Shell

Linux学习(Shell基础)

2017-05-23 18:09 453 查看

一、Shell是什么?

Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序;

Shell是一个功能相当强大的编程语言,易编写,易调试,奶油小生性较强。Shell是解释执行的脚本语言,Shell中可以直接调用Linux系统命令。

二、脚本执行方式

2.1 echo输入命令

echo [选项] [输出内容]

当选项为-e时,表示支持反斜线控制的字符转换

反斜线控制字符转换表

控制字符作用
\a输出警告音
\b退格键,表示向左删除键
\n换行符
\r回车符
\t制表符,相当于Tab键
\v垂直制表符
\0nnn按照八进制ASCII码表输出字符,其中0为数字零,nnn是三位八进制数
\xhh按照十六进制ASCII码表输出字符,其中hh是两位十六进制数
* 举例

[root@localhost zm]# echo "Hello everybody,my name is zixuan."
Hello everybody,my name is zixuan.
[root@localhost zm]# echo "Hello everybody,my name is\b zixuan."
Hello everybody,my name is\b zixuan.
[root@localhost zm]# echo -e "Hello everybody,my name is\b zixuan."
Hello everybody,my name i zixuan.
[root@localhost zm]# echo -e "Hello everybody,\nmy name is zixuan."
Hello everybody,
my name is zixuan.
[root@localhost zm]# echo -e "Hello everybody,\amy name is zixuan."
Hello everybody,my name is zixuan.
[root@localhost zm]# echo -e "Hello everybody,\vmy name is zixuan."
Hello everybody,
my name is zixuan.
[root@localhost zm]# echo -e "Hello everybody,\rmy name is zixuan."
my name is zixuan.
[root@localhost zm]# echo -e "Hello \reverybody,my name is zixuan."
everybody,my name is zixuan.
[root@localhost zm]# echo -e "Hello everybody,\x67my name is zixuan."
Hello everybody,gmy name is zixuan.
[root@localhost zm]# echo -e "Hello everybody,\076my name is zixuan."
Hello everybody,>my name is zixuan.


2.2 脚本

创建脚本

vi [脚本名称]

[root@localhost zm]# vi hello.sh


用vi编辑器打开hell.sh文件,在里面写入你想要执行的代码,然后保存即可。

#!/bin/bash
echo -e "\e[1;34m hello world! \e[0m";


执行脚本

给文件赋予执行权限,然后直接运行

通过Bash调用执行脚本

[root@localhost zm]# chmod 755 hello.sh
[root@localhost zm]# ls -l
总用量 12
-rw-r--r--. 1 root root    0 5月  22 10:52 abc
drwxr-xr-x. 2 root root 4096 5月  22 10:46 first
-rwxr-xr-x. 1 root root   52 5月  23 17:37 hello.sh
drwxr-xr-x. 2 root root 4096 5月  22 10:46 second
[root@localhost zm]# ./hello.sh
hello world!
[root@localhost zm]# bash hello.sh
hello world!


问题一:

E325: ATTENTION
Found a swap file by the name ".hello.sh.swp"


原因:之前在使用vi操作hello.sh时,出现了异常中断,所以在当前目录下就产生了一个.hello.sh.swp文件,该文件是以“.”开头的,是隐藏文件,我们直接用ls 命令是看不到的,需要使用ls -a才能看到;

解决方法:在当前目录下找到.hello.sh.swp文件,然后将它删除,就可以了。

[root@localhost zm]# ls
abc  first  hello.sh  second
[root@localhost zm]# ls -al
总用量 32
drwxr-xr-x. 4 root root  4096 5月  23 17:37 .
drwxr-xr-x. 5 root root  4096 5月  22 11:48 ..
-rw-r--r--. 1 root root     0 5月  22 10:52 abc
drwxr-xr-x. 2 root root  4096 5月  22 10:46 first
-rwxr-xr-x. 1 root root    52 5月  23 17:37 hello.sh
-rw-r--r--. 1 root root 12288 5月  23 17:30 .hello.sh.swp
drwxr-xr-x. 2 root root  4096 5月  22 10:46 second
[root@localhost zm]# rm .hello.sh.swp
rm:是否删除普通文件 ".hello.sh.swp"?y
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: