美文网首页
【蜗牛黑板报】shell脚本

【蜗牛黑板报】shell脚本

作者: 技术是神奇的 | 来源:发表于2020-06-18 17:47 被阅读0次

    Shell脚本之#!/bin/bash到底是什么意思

    #!/bin/bash原理同python, 一定要加的原因是:

    指明系统需要哪种shell解释用户的shell程序,如:#!/bin/sh,#!/bin/bash,#!/bin/csh,,#!/bin/tcsh和,#!/bin/ksh

    以上是一些常见的shell。

    Shell 既是一种脚本编程语言,也是一个连接内核和用户的软件

    sh 是 UNIX 上的标准 shell,很多 UNIX 版本都配有 sh。sh 是第一个流行的 Shell。

    bash 是 Linux 的默认 shell。

    bash 由 GNU 组织开发,保持了对 sh shell 的兼容性,是各种 Linux 发行版默认配置的 shell。

    bash 兼容 sh 意味着,针对 sh 编写的 Shell 代码可以不加修改地在 bash 中运行。尽管兼容,但是还是有一点区别的,不过可以不用关注,特殊场景可以使用 bash 代替 sh。

    Shell查看

    Shell 是一个程序,一般都是放在/bin或者/usr/bin目录下,当前 Linux 系统可用的 Shell 都记录在/etc/shells文件中。/etc/shells是一个纯文本文件,可以在图形界面下打开它,也可以使用 cat 命令查看它。

    如果不清楚当前系统shell支持哪种,可以用命令:

    cat /etc/shells

    注:在现代的 Linux 上,sh 已经被 bash 代替,/bin/sh往往是指向/bin/bash的符号链接。

    如果希望查看当前 Linux 的默认 Shell,那么可以输出 SHELL 环境变量:

    echo $SHELL

    Shell脚本执行

    shell脚本的执行会开启新进程

    Linux 中的每一个进程都有一个唯一的 ID,称为 PID,使用$$变量就可以获取当前进程的 PID

    当前进程

    首先编写如下的脚本文件,并命名为 check.sh

    #!/bin/zsh

    echo $$

    sh执行开启新进程2946

    在当前进程中运行 Shell 脚本

    source 是 Shell 内置命令的一种,它会读取脚本文件中的代码,并依次执行所有语句。你也可以理解为,source 命令会强制执行脚本文件中的全部命令,而忽略脚本文件的权限。

    source 命令的用法:

    source filename

    也可以简写为

    . filename(我在Mac系统上尝试未成功)

    两种写法的效果相同。对于第二种写法,注意点号.和文件名中间有一个空格。

    当前进程中运行sh

    注:使用 source 命令不用给脚本增加执行权限,并且写不写./都行

    总结:

    在新进程中运行sh可以使用./check.sh, 

    在当前进程中运行sh可以使用. ./check.sh

    尽管很渺小,但终究会伟大!

    相关文章

      网友评论

          本文标题:【蜗牛黑板报】shell脚本

          本文链接:https://www.haomeiwen.com/subject/tvlbxktx.html