bash学习之了解 (一)

版权声明:如需转载,请注明出处: https://blog.csdn.net/qq_38701476/article/details/83859500

最近学习了bash编程。掌握了一些知识,在这里就算是好好整理一下知识点,归个类,加深一些理解。

1.bash简介
linux内核是linux系统专门和硬件打交道的程序,Linux系统中我们所有的程序都是在linux内核之上,最终交付给内核再去调用硬件去执行的。
bash是一个专门为GUN计划编写的Unix shell,在linux系统上我们就可以理解为一个告诉系统内核去做什么任务的程序组件,也被称之为脚本语言和解释性语言。相比与其他类的语言,bash是和系统更近,更加适合与系统有关的程序编写。
内核作为linux的核心部件,内核的安全直接决定的系统运行的稳定性。shell的另一个很重要的作用就是对内核起到了一定的保护作用,防止用户的一下误操作,即使shell可以对内核进行修改。 从某种程度上来说和c++/java等高级语言的类封装是类似的。

2.bash的运行
由于shell有很多种。因此,在linux系统也有许多运行的方法,在一些其他的系统种也可能有自己的shell。甚至遇到了一些自己运行的bash脚本报错的情况(也可能是我不会的错误写在了上面)。
bash的运行可以直接在终端运行,也可以在桌面环境执行运行。比如有一个test.sh文件,终端运行有如下集中方法

1.  bash test.sh     调用bash去执行文件
2.  sh test.sh         调用shell去执行文件
3.  sh ./test.sh       系统以默认的执行程序(shell)去执行该文件,但是由于系统
只会在环境变量位置中去寻找置中去寻找文件名,所以加上  ./   告诉系统在当先位置执行

另一种桌面上就以选择是运行还是打开,不多做说明

3.从基本开始学习

程序1:

#!/bin/bash
printf "hello %s\n" world!
echo hello world!

运行结果:
在这里插入图片描述
代码说明:
第1行说明以何种程序去运行,样列是用/bin/文件夹下的bash去执行。应该只会影响到没有明确说明如何去执行的程序,但是我去掉之后完全没影响。因次,很多系统都会正确执行,这里只说明一下用途,而且后续的程序都会加上这一行。
第2行printf是和我们 c/c++ 种的语言一样是标准输出,只不过没有空格,后面也没有逗号。里面的替换和c中一样。因此,详细了解可以查转移字符,不在过多说明。
第3行echo是Linux系统的一个输出函数,把后面的信息输出到输出设备种。
默认情况下

程序2:

#!/bin/bash
#hello world
:<<$
asdf;ljk
asdfklk;
asdfl;
$
echo hello world!

运行结果:
在这里插入图片描述
第2行:# 开头的信息是bash中的注释行,后面的信息在bash中并不会去执行
第3-7行是bash的多行注释其中格式为
:<<$
注释信息
$
其中的$只要是一个字符即可,有很多种,甚至是一个字母。但要保证前后照应

下一篇讲解变量

猜你喜欢

转载自blog.csdn.net/qq_38701476/article/details/83859500