shell脚本学习第一弹

shell脚本学习第一弹


作为一个linux程序员,不会shell的脚本的编写,可是不合格的呀!!!
今天,我们一起来看看shell脚本的编写:


别的先不说,先来一个入门级的案例:

 1 #!/bin/bash
  2 #当前路径
  3 pwd
  4 #打印hello
  5 echo "hello"

我们执行

chmod +x hello.sh 
./hello.sh

结果:

/home/shell
hello

能打印出这个,说明入门了。


我们来看看上面这个脚本,首先,我就有几个疑问?

  • 1 为什么要用#!/bin/bash
  • 2.执行的过程是什么?

简答:

  1. 我们从程序执行的角度来说的话,如果一个程序没有执行权限的话,机器就会报错“权限不够”这类的错误;换个角度来说的话,不管什么程序执行,都要判断这个程序是否有对应的权限,如果没有权限,一般是没有办法执行的。
    2.在linux系统中,个文件加权限的方式是:chmod ,+x表示给程序叫上可执行的权限。shell收到我们执行的命令后,会调用linux内核命令来新建一个进程来处理我们的命令。像我们C/C++编译完都是二进制的文件,linux内核知道怎么去执行它,但是我们的.sh的脚本文件的话,它是一个文本文件,内核不知道怎么去执行,所以就该我们的“#!/bin/bash”出场了,这个我更愿意叫他解释器。当命令行发现“#!”的时候,它就会在这个后面找到解释器的路径,当然,一个机器可能有几个解释器,我们可以用命令“whereis shell”进行查看!到此为止,我们就知道为什么要用“#!/bin/bash”了!!!!!

你可能感兴趣的:(shell脚本学习第一弹)