我正在尝试创建一个自动将软链接插入/ usr / bin的函数。这将允许它所调用的脚本更加用户友好。
这就是我现在所拥有的:
executeAnywhere(){
local scriptlocation="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
local scriptname=`basename $0`
sudo ln -s $scriptlocation/$scriptname /usr/bin/$scriptname
}
但是,我不知道这将如何以权限方式工作:我是否需要以某种方式修改符号链接的权限?
答案 0 :(得分:2)
如果您使用 root用户,则无需担心权限。但是,非root用户将无法与/usr/bin/
目录建立此链接,因为在大多数系统中/usr/bin
将具有544
或755
权限。
但通常在大多数安装中/usr/bin
即使对于管理员用户也也不可写(root
)。因此,put the link至/usr/local/bin
最好是可以的,因为它不会产生Operation not permitted
错误。
答案 1 :(得分:0)
符号链接没有权限。符号链接所在的目录具有权限(因此您可能无法将符号链接插入/usr/bin
,除非您具有root权限),并且符号链接的目标具有权限(因此目标需要为a+x
如果你希望每个人都能够执行它。)
如果您只想让自己能够运行脚本,请将其放入~/bin
并验证~/bin
是否在您的路径中(它最常见) unix-like发行版。)