新手指南:Shell 脚本执行

举报
Tiamo_T 发表于 2022/01/24 09:11:27 2022/01/24
【摘要】 执行 shell 脚本我应该知道哪些基本知识?此外,当我执行我的 shell 脚本时,我收到“权限被拒绝”错误消息。我如何解决它? 让我们了解一下关于执行 shell 脚本应该了解的 4 个基本知识。

执行 shell 脚本我应该知道哪些基本知识?此外,当我执行我的 shell 脚本时,我收到“权限被拒绝”错误消息。我如何解决它?

让我们了解一下关于执行 shell 脚本应该了解的 4 个基本知识。


1. 找到 shell 可执行文件并将其命名为 she-bang #!

确定外壳安装位置的完整路径。

$ which sh
/bin/sh

(or)

$ which ksh
$ which bash

一旦您确定了 shell 可执行文件的位置,在 shell-script 文件的第一行中将其指定为 shebang (#!)。

$ vim helloworld.sh

#!/bin/sh
回声“你好世界!”

2.为Shell脚本文件分配执行权限

如果您没有脚本的执行权限,您将收到“权限被拒绝”错误消息,如下所示。

$ ./helloworld.sh
bash: ./helloworld.sh: Permission denied

使用 chmod 命令为脚本文件分配执行权限,如下所示。


$ chmod u+x helloworld.sh

如果要授予组和其他人执行权限,请按如下所示进行。

$ chmod 755 helloworld.sh

注意:您也可以将此作为自动过程。ie 每当你打开一个shell 脚本文件时,所需的事情——添加shebang 和授予执行权限都可以使用bash-support.vim 插件自动完成。

3.通过指定绝对或相对路径执行脚本

您可以使用绝对路径或相对路径来执行 shell 脚本。

通过指定绝对路径来执行脚本,如下所示。

$ /home/ramesh/scripts/helloworld.sh
Hello World!

通过指定相对路径来执行脚本,如下所示。

$ cd /home/ramesh/

$ ./scripts/helloworld.sh
Hello World!

(or)

$ cd /home/ramesh/scripts

$ ./helloworld.sh
Hello World!

4. 像普通的 Linux 命令一样执行脚本

您也可以在不指定完整路径、绝对路径或相对路径的情况下执行脚本。为此,请将所有 shell 脚本所在的目录添加到 PATH 环境变量中,如下所示。

例如,一旦我将 /home/ramesh/scripts 添加到 PATH 环境变量中,我就可以从任何目录执行脚本。

$ export PATH=$PATH:/home/ramesh/scripts

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/ramesh/scripts

$ cd /go/to/anydirectory

$ helloworld.sh
Hello World!
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。