为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不使用“ sh”或“ bash”命令的情况下运行shell脚本?

/ 猿问

如何在不使用“ sh”或“ bash”命令的情况下运行shell脚本?

MMTTMM 2019-10-23 14:26:57

我有一个要运行的shell脚本,而无需使用“ sh”或“ bash”命令。例如:


代替: sh script.sh


我要使用: script.sh


我怎样才能做到这一点?


PS(i)我不太使用shell脚本,并且尝试阅读有关别名的信息,但是我不了解如何使用它们。


(ii)我还阅读了有关将脚本与PATH变量中的另一个文件链接的信息。我正在使用大学服务器,但没有在这些位置创建文件的权限。


查看完整描述

3 回答

?
HUWWW

在文件顶部添加“ shebang”:


#!/bin/bash

并使您的文件可执行(chmod +x script.sh)。


最后,修改路径以添加脚本所在的目录:


export PATH=$PATH:/appropriate/directory

(通常,您想$HOME/bin存储自己的脚本)


查看完整回答
反对 回复 2019-10-23
?
蛊毒传说

这些是直接使用脚本名称的一些先决条件:

  1. she-bang (#!/bin/bash)在最上方添加行。

  2. 使用chmod u+x scriptname使脚本可执行。(scriptname脚本名称在哪里)

  3. 将脚本放在/usr/local/bin文件夹下。

  4. 仅使用脚本名称运行脚本。

注意:我建议将其放在/usr/local/bin文件夹下的原因是,最有可能的原因是该路径已经添加到您的中PATH variable

更新:

如果您无权访问该/usr/local/bin文件夹,请执行以下操作:

  1. 在您的主目录中创建一个文件夹,将其称为myscripts

  2. 不要ls -lart在你的主目录,以确定您的外壳也使用启动脚本。应该是.profile.bashrc

  3. 确定启动脚本后,在脚本中添加以下行- export set PATH=$PATH:~/myscript

  4. 添加后,获取您的启动脚本或注销并重新登录。

  5. 使用执行脚本scriptname


查看完整回答
反对 回复 2019-10-23
?
慕森王

只需确保使用即可执行chmod +x。默认情况下,当前目录不在您的PATH上,因此您将需要以./script.sh- 身份执行它,或者通过限定路径引用它。另外,如果您确实需要just script.sh,则需要将其添加到PATH中。(您可能无权修改系统路径,但是几乎可以肯定的是,您可以修改自己当前环境的PATH。)这还假定您的脚本以开头#!/bin/sh。


您还可以使用别名,该别名与shell脚本并不真正相关,而仅与shell有关,并且很简单:


alias script.sh='sh script.sh'

这样一来,您就可以仅使用script.sh(从字面上看-这对其他任何*.sh文件都无法使用)sh script.sh。


查看完整回答
反对 回复 2019-10-23

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信