「大文豪贤斌学长」计算机科学研究专家携你初识Shell

文章图片

文章图片
初识Shell
【「大文豪贤斌学长」计算机科学研究专家携你初识Shell】现在以Ubuntu为例介绍Shell安装:
$sudoaptitudeinstall-yretextgitnodejsnpm
$sudoln-fs/usr/bin/nodejs/usr/bin/node
$sudoaptitudeinstall-ycalibrefonts-arphic-gbsn00lp
$sudonpminstallgitbook-cli-g
下载
$gitclonehttps://github.com/tinyclub/open-shell-book.git
$cdopen-shell-book/
编译
$gitbookbuild//编译成网页
$gitbookpdf//编译成pdf
关于Shell
Shell提供了用户与内核进行交互操作的一种接口 。 它把用户输入的命令并把它送入内核去执行 。
实际上Shell是一个命令解释器 , 它解释用户输入的命令并且把它们送到内核 。 非仅如此 , Shell有自己的编程语言用于对命令的编辑 , 它允许用户编写由shell命令组成的程序 。 Shell编程语言具有普通编程语言的很多特点 , 其也有循环结构和分支控制结构等 , 用这种编程语言编写的Shell程序与其他应用程序具有同样的效果 。
每个Linux系统的用户可以拥有他自己的用户界面或Shell , 用以满足他们自己专门的Shell需要 。
Shell编程跟java、php等编程一样 , 只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了 。
Linux的Shell种类众多 , 常见的有:
·BourneShell(/usr/bin/sh或/bin/sh)
·BourneAgainShell(/bin/bash)
·CShell(/usr/bin/csh)
·KShell(/usr/bin/ksh)
·ShellforRoot(/sbin/sh)
在shell中可以定义函数 。 函数实际上也是由若干条shell命令组成的 , 因此它与shell程序形式上是相似的 , 它非一个单独的进程 , 而是shell程序的一部分 。 函数由两部分组成:函数名和函数体 。
函数定义的格式为:
函数名()
{
命令集合
}
或者
function函数名()
{
命令集合
}
Shell函数和shell程序比较相似 , 它们的区别在于:
Shell程序在子Shell中运行 , 而Shell函数在当前Shell中运行 。 因此在当前Shell中可以看到Shell函数对变量的修改 。
现在关注的是Bash , 也就是BourneAgainShell , 由于易用和免费 , Bash在日常工作中被广泛使用 。 同时 , Bash也是大多数Linux系统默认的Shell 。
#!告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程序 。
我们现在写一个shell脚本 , 打开文本编辑器 , 新建一个文件first.sh , 扩展名为sh代表shell , 扩展名可以见名知意 , 如果你用php写shell脚本 , 扩展名就用php好了 。
输入一些代码:
#!/bin/bash
echo''HelloShell!''
''#!''是一个约定的标记 , 它告诉系统这个脚本需要什么解释器来执行 , 即使用哪一种Shell 。
echo命令用于向窗口输出文本 。
运行Shell脚本有两种方法:
作为可执行程序
将上面的代码保存为first.sh , 并cd到相应目录:
chmod+x./first.sh#使脚本具有执行权限
./first.sh#执行脚本
注意 , 一定要写成./first.sh , 而非first.sh , 运行其它二进制的程序也一样 , 直接写first.sh , linux系统会去PATH里寻找有没有叫first.sh的 , 而只有/bin,/sbin,/usr/bin , /usr/sbin等在PATH里 , 你的当前目录通常非在PATH里 , 所以别写成first.sh , 要用./first.sh告诉系统说 , 就在当前目录找 。
作为解释器参数
这种运行方式是 , 直接运行解释器 , 其参数就是shell脚本的文件名 , 如:
/bin/shfirst.sh
推荐阅读
- 凯哥学长▲多个官方点名回应,已不止是她一人问题,许可馨事件持续发酵
- 「钟文豪历史专栏」第35军表现怎么样?一个参谋长这样回忆,孔家庄战役
- #钟文豪历史专栏#第35军表现怎么样?一个参谋长这样回忆,孔家庄战役
- 【懒羊羊学长】深海10000米是啥样子?科学家:全都是被“封印”的巨型怪兽
- :高考在即,现在还有必要刷题吗?看看985学长,学姐怎么说?
- 【北京】北京高中生喊话海外学长学姐:下半场战疫,换我来保护你
- 【高校】985学长含泪建议:选择这些专业浪费了好成绩,本科就业很惨淡
- 【美诗美文】文豪指出“千里莺啼绿映红”第一个字就用错了,为何还能入选课本,原创
- 美诗美文▲清代文豪:我不信这是李白写的,网友:还以为是酒鬼编的喝酒段子,原创
- 【懒羊羊学长】专家:人类文明或许一直在循环往复,5亿年前芯片化石被渔民发现
