shell基本概念理解

一、shell理念
1、什么是shell
shell是一种弱类型语言,无需声明类型语言
3、shell脚本
(1)理解:将shell命令组织成程序,写在文件中,我们通过某种解释器可以执行这个文件,读取其中代码,让计算机完成相应的指令,这个文件就是shell脚本。文件一般以“.sh”为后缀,由shell命令、shell的逻辑语句以及注释信息等组成。例如下面shell脚本,完成内容是在命令行中输出"hello world"

#关于下面一行解释见扩展
#!/bin/bash
echo "hello world"

(2)给脚本加可执行权限

chmod +x shell.sh

(3)运行方法,常用的如下

/path/shell.sh
或 ./shell.sh
或 bash shell.sh(如果文件没有x执行权限,使用明确的解释器和脚本命令来执行)sh shell.sh

(4)调试脚本,执行过程中看输出

sh -x shell.sh

扩展:脚本中第一行一般都是#!/bin/bash,其中“#!”,称之为shebang,其作用就是告诉unix系统shebang后面的内容是使用的解释器的类型。例如

  • 以#!/bin/sh开头的文件,程序执行的时候,默认用当前shell解释脚本,即$SHELL(echo $SHELL输出当前SHELL路径)
ls -l /bin/sh
输出:/bin/sh -> bash
  • 以#/usr/bin/python开头的文件,表示使用python解释器
  • 如果shebang指定的解释器没有可执行权限,会报“bad interpreter:Permission denied”错误
  • 如果解释器不存在,会报“bad interpreter:No such file or directory”

经验:我们在写脚本的时候要指明正确的shebang,让正确的解释器来将我们的脚本转换为机器语言,完成相应的逻辑。

你可能感兴趣的:(shell,linux,bash,运维)