Shell学习心得

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命令不用给脚本增加执行权限,并且写不写 ./ 都行。

原文地址:https://www.cnblogs.com/pretty-ru/p/11176479.html