1.程序的运行原理
载入内存,让程序运行起来。
CPU直接从内存中读取数据,处理完成后将结果再写入内存。
CPU、内存、硬盘和主板的关系
2.Shell是一个应用程序,它连接了用户和Linux内核,让用户能够更加高效、安全、低成本地使用Linux内核,这就是Shell的本质。
3.Bash shell 是 Linux 的默认shell,是各种Linux 发行版默认配置的shell;保持了对 sh shell 的兼容性。
4.Shell echo命令:输出字符串
- echo 是一个 Shell 内建命令,用来在终端输出字符串,并在最后默认加上换行符。请看下面的例子:
#!/bin/bash name="Shell教程" url="http://c.biancheng.net/shell/" echo "读者,你好!" #直接输出字符串 echo $url #输出变量 echo "${name}的网址是:${url}" #双引号包围的字符串中可以解析变量 echo '${name}的网址是:${url}' #单引号包围的字符串中不能解析变量
运行结果:
读者,你好! http://c.biancheng.net/shell/ Shell教程的网址是:http://c.biancheng.net/shell/ ${name}的网址是:${url}
- 不换行
echo 命令输出结束后默认会换行,如果不希望换行,可以加上-n
参数,如下所示:
#!/bin/bash name="Tom" age=20 height=175 weight=62 echo -n "${name} is ${age} years old, " echo -n "${height}cm in height " echo "and ${weight}kg in weight." echo "Thank you!"
运行结果:
Tom is 20 years old, 175cm in height and 62kg in weight. Thank you!
- 输出转义字符
默认情况下,echo 不会解析以反斜杠开头的转义字符。比如,
表示换行,echo 默认会将它作为普通字符对待。请看下面的例子:
[root@localhost ~]# echo "hello world" hello world
我们可以添加-e
参数来让 echo 命令解析转义字符。例如:
[root@localhost ~]# echo -e "hello world" hello world
- c 转义字符
有了-e
参数,我们也可以使用转义字符c
来强制 echo 命令不换行了。请看下面的例子:
#!/bin/bash name="Tom" age=20 height=175 weight=62 echo -e "${name} is ${age} years old, c" echo -e "${height}cm in height c" echo "and ${weight}kg in weight." echo "Thank you!"
运行结果:
Tom is 20 years old, 175cm in height and 62kg in weight. Thank you!
5.命令提示符
如果是超级用户(root用户),提示符就是 # ;如果是普通用户,提示符就是 $ 。
[username@host directory]$
或者
[username@host directory]#
第二层命令提示符
有些命令不能在一行内输入完成,需要换行,这个时候就会看到第二层命令提示符。第二层命令提示符默认为 >
6.
#!/bin/bash echo "Hello World !" #这是一条语句
第一行的 #! 是一个约定的标记,他告诉系统这个脚本需要什么解释器来执行,即使用哪一种shell;后面的 /bin/bash 就是指明了解释器的具体位置。
第二行d的 echo 命令用于向标准输出文件输出文本。在 .sh 文件中使用命令与在终端直接输入命令的效果是一样的。
第二行的 # 及其后面的内容是注释。Shell 脚本中所有以#
开头的都是注释(当然以#!
开头的除外)。
7.source 命令
使用source命令不用给脚本增加执行权限,并且写不写 ./ 都行。