Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过键入shell脚本的名称来运行它?_Shell - Fatal编程技术网

如何通过键入shell脚本的名称来运行它?

如何通过键入shell脚本的名称来运行它?,shell,Shell,我非常专注于我的控制评估任务。我被要求在nano中创建一个shell脚本,以响应hello world和hello$user。我已将脚本设置为可执行。chmod 755 Script1和chmod+x Script1。我的任务是只需键入“Script1”就可以运行脚本,我不知道如何设置执行此操作的路径。任何帮助都将不胜感激。基本上你需要把它放进去 假设它位于/a/b/folder/script.sh上的文件夹中,请尝试: 这告诉shell在查找要运行的命令时在那里查找可执行文件 要确保它始终可执

我非常专注于我的控制评估任务。我被要求在nano中创建一个shell脚本,以响应hello world和hello$user。我已将脚本设置为可执行。chmod 755 Script1和chmod+x Script1。我的任务是只需键入“Script1”就可以运行脚本,我不知道如何设置执行此操作的路径。任何帮助都将不胜感激。

基本上你需要把它放进去

假设它位于/a/b/folder/script.sh上的文件夹中,请尝试:

这告诉shell在查找要运行的命令时在那里查找可执行文件

要确保它始终可执行,您有几个选项:

使用sets为bash设置概要文件中的path变量,这通常在ubuntu中完成,这就是我使用的或。 使用。。。 将文件夹移动到路径echo$path上已存在的文件夹,以查看已存在的内容。 请注意,这些文件是

了解更多信息


提示:为了测试您是否正确设置了文件,我们将以~/.bashrc为例,您可以使用source ~/.bashrc并加载~/.bashrc中的所有内容。这样,您就可以确保下次登录时不会把事情搞砸。

将脚本别名为.bash\u profile

在主路径中打开.bash_概要文件并添加以下条目

别名Script1='/path/to/Script1'

然后用

。bash_剖面图


之后,尝试仅使用脚本名称来调用脚本。i、 e,Script1

设置包含存储目录的路径。如果它位于/home/youruser/bin中,则运行PATH=$PATH:/home/youruser/bin。您不应该做的是放置。在这条道路上,存在着安全漏洞。尤其是在路的前面;名称为/tmp/ls的破坏性文件过去在多用户系统上很常见,以捕获在/tmp中试图运行ls的不小心行为,但也有很长的历史,因为常见命令拼写错误或已卸载程序的名称拼写正确。我尝试过PATH=$PATH:/home/pi/Script1,但它不起作用。我不确定我应该使用哪条路径,但感谢您的反馈。@JoelPodmore确保您添加的是文件夹,而不是文件夹file@JoelPodmore,您应该将存储脚本的目录放在路径中,而不是脚本本身。这意味着你也不应该一开始就把脚本放在你的主目录中,因为主目录中往往有各种各样的错误。谢谢,我已经成功了。我输入了PATH=$PATH:/home/pi,它现在可以工作了,thansk Everyoned有人知道使它永久可执行的最简单方法吗?
PATH=$PATH:/a/b/folder/