加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

初识shell脚本

发布时间:2020-12-15 16:43:39 所属栏目:安全 来源:网络整理
导读:按照国际惯例,首先用来输出一个 hello world 1 #!/bin/bash 2 #第一个shell脚本 3 echo hello world 我们把这个文件命名为 hello,当在命令行输入 hello 的时候 David ~ MackBook :shell_test $ hello - bash: hello: command not found 提示命令找不到,那

按照国际惯例,首先用来输出一个 hello world

1 #!/bin/bash
2 #第一个shell脚本
3 echo hello world

我们把这个文件命名为 hello,当在命令行输入 hello 的时候

David~MackBook:shell_test$ hello 
-bash: hello: command not found

提示命令找不到,那么如何让系统找到 hello 脚本呢?

  • 将shell脚本所处的目录添加到 PATH 环境变量中
  • 在提示符中使用绝对或相对文件路径来引用shell脚本文件

对于第一种方法,最简单的方法就是在命令行输入

David~MackBook:shell_test $ PATH=$PATH:.
David~MackBook:shell_test $ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:.

冒号后面的点就是代表当前目录,这样,无论我们进入到哪个目录,系统都可以在当前目录下找到这个文件。

对于第二种方法,就更简单了,如果用相对路径的话就是 ./hello,如果用绝对路径的话就是 ~/shell_test/hello

假设现在用了第一种方法,当我们再在命令行输入 hello 的时候

David~MackBook:shell_test $ hello
-bash: ./hello: Permission denied

提示权限拒绝,因为文件创建时,属主是没有执行权限的(当然你也可以设置 umask 值,从而在创建的时候有执行权限),所以现在要加上属主的执行权限

chmod u+x hello
David~MackBook:shell_test $ ls -li hello 
5572257 -rwxr--r--  1 David  staff  51  7 11 23:35 hello

现在hello文件具有了执行权限,当我们再在命令行执行 hello 命令的时候,就可以正常输出

David~MackBook:shell_test $ hello 
hello world

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读