所以我刚刚开始学习 UNIX,需要回答一个非常基本的问题!我花了几个小时寻找正确的方法,但似乎我真的无法理解它!
我有一个名为“contactdetails”的脚本。我想通过在任何目录中输入“contactdetails”来运行它,但我可以运行它的唯一方法是输入“sh contactdetails”。
现在我听说我应该将“#!/bin/sh”添加到我的脚本的第一行,但这并没有奏效。我还被告知我需要将它添加到 $PATH 环境变量中。我真的不明白这是什么意思,当我输入“echo $PATH”时,我得到“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin: /bin:/usr/games”。
当我尝试在“/usr”目录中创建目录/文件时,我收到消息“权限被拒绝”。我通过我的作品服务器登录到 UNIX,这是问题吗?有没有办法让我只输入它的名字而不是 sh itsname 来运行脚本?
提前致谢!
编辑:如果有任何相关性,我还更改了可执行文件(chmod 755 contactdetails)的权限!我正在使用腻子!
你必须让它可执行
chmod +x contactdetails
Run Code Online (Sandbox Code Playgroud)
并将它所在的目录放在您的路径中,例如,如果您的脚本在 /dir/with/script
export PATH=$PATH:/dir/with/script
Run Code Online (Sandbox Code Playgroud)
如果您将此行添加到您的.bashrc它将PATH为每个 bash shell 设置
或将其放入/usr/local/sbin, /usr/local/bin, /usr/sbin, /usr/bin,/sbin:/bin或/usr/games(您需要以root用户身份执行此操作)