理解Linux Shell:
shell:一个命令行解释器,通过执行命令或脚本,帮助用户与操作系统打交道。
process:进程,用户执行的任务是进程,但进程不只是任务。
file:文件放在硬盘上,包含用户所有的数据。
x-windows(又称windows):Linux的一种模式,使屏幕包含多个视窗,让用户同时监视多个任务,方便地穿梭于任务之间,它是图形化的。
text terminal:一种只能显示文字或简单图形的视窗。
session:登入,建立会话;登出,注销会话。
标准Linux发行版里的shell种类:
Bourne Shell:它是早期版本中的一种主要的shell,并且后来成为了标准。由贝尔实验室的 Stephen Bourne 所写。每个“类Unix”的系统里都至少有一种shell与之兼容。Bourne Shell 的程序命名为“sh”,一般放在 /bin/sh 。
C shell:由 Bill Joy 为 BSD 版本所写。它的语法是模仿C语言的。它主要用于交互式操作,有很多交互式命令,而不太常用于写脚本。
开始玩了!
命令有成千上万条,都把它们记住,好吗?额,很明显那是不行的。计算机的真正用途是简化你的工作,你需要过程自动化,所以,你需要脚本。
脚本是命令的集合,保存在文件里。shell能读取这些文件并且执行里面的命令,就像执行键盘发来的命令。shell还提供各种各样的编程特性,使得脚本真心强大。
shell编程基础:
开启终端,以获取shell
看下你用着什么shell,运行:echo SHELL
在Linux shell中,美元符号代表一个变量
“echo”命令就是回复你键入任何东西
当需要串联几个命令时,管线指令 “|” 就有用了
Linux命令有自己的语法,你的任何错误都不会被容忍和接受。如果你写了条不规范的命令,当然不会如愿执行。
#!/bin/sh —— 这个叫环境。这句写在shell脚本的首行,使得命令被发送到 /bin/sh 程序
关于shell 脚本:
shell脚本就是一个普通的文本文件,扩展名是 .sh ,且能够被执行。
编写和执行脚本:
打开终端
“cd”命令,去到你想存放该脚本的地方
cd,回车,使你的提示符变成home目录
touch hello.sh(这里我们的脚本命名为hello,而 .sh 是规定的)
vi hello.sh(nano hello.sh)用你最喜欢的编辑器,我用nano
chmod 744 hello.sh(使脚本可被执行)
sh hello.sh 或者 ./hello.sh (执行脚本)
编写你第一个脚本:
#!/bin/bash
# My first script
echo “Hello World!”
如上所述,将这几行东西,保存在文本文件里,使之可执行,并执行之。
输出的样子:
Hello World!
上面的代码解释如下。
#!/bin/bash ( 运行环境 )
# My first script ( 注释,任何位于#后的东西都被注释 )
echo “Hello World!” ( 脚本的主要部分 )
编写你第二个脚本:
是时候写下一个了。这个脚本会说出你的username和列出运行中的process
#! /bin/bash
echo “Hello USER”
echo “Hey i am”USER “and will be telling you about the current processes”
echo “Running processes List”
ps
如上所述,将这几行东西,保存在文本文件里,文件叫啥名字都行,但记住扩展名为 .sh ,使之可执行,并执行之。
Hello tecmint Hey i am tecmint and will be telling you about the current processes Running processes List PID TTY TIME CMD 1111 pts/0 00:00:00 bash 1287 pts/0 00:00:00 sh 1288 pts/0 00:00:00 ps
觉得酷吗?编写脚本就像将想法转变为流程式命令一样简单。通过内置的过滤器和管道功能,shell 脚本擅长做简单的文件系统操作。
当你的需求更复杂,例如是功能、健壮、性能、效率等方面时,你就需要一个全能的语言了。
当你已经熟悉 C、PERL、PYTHON之类时,学习脚本语言就不觉得难了。
编写你第三个脚本:
接着,来写第三个也是本文最后一个脚本。这个脚本表现为一个互动式的脚本,何不亲自执行它,说下感觉怎样?
[code language=”shel”]#! /bin/bash
echo "Hey what’s Your First Name?";
read a;
echo "welcome Mr./Mrs. a, would you like to tell us, Your Last Name";
read b;
echo "Thanks Mr./Mrs.a b for telling us your name";
echo "*******************"
echo "Mr./Mrs.b, it’s time to say you good bye"[/code]
输出的样子:
Hey what's Your First Name? Avishek welcome Mr./Mrs. Avishek, would you like to tell us, Your Last Name Kumar Thanks Mr./Mrs. Avishek Kumar for telling us your name ****************************************************** Mr./Mrs. Kumar, it's time to say you good bye
其实,这事还没完。我们只不过让你浅尝了一下。在未来,我们会全面开展“脚本”这个话题,它会一直下去,没有最详尽,只有更详尽。各位在评论中的宝贵意见都是可赞的!请支持我们,并帮忙宣传,保持联系,敬请关注!
本文链接:http://www.yunweipai.com/3131.html
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/53203.html