我有一个bash脚本,我想从任何目录调用,但我不想将它所在的目录添加到PATH,因为它充满了许多其他简单的杂乱的脚本。
有问题的脚本操纵环境变量,所以我必须采购它。 我尝试创建别名
alias aliastoscript="/path/to/script"
source aliastoscript #This does not work says no such file
我也无法将脚本本身复制到其他位置,因为它取决于目录结构和目录中的其他脚本。
所以我尝试了一个已经在路径中的位置的符号链接:
ln -s /path/to/script /directory/already/in/path/myscript
但这也不起作用:
source myscript #says no such file exists
有谁能建议我如何实现这一目标?为什么符号链接方法不起作用?
如果它有任何区别,我在ubuntu 14.04上使用zsh shell
修改
下面给出的答案有效,但我也想知道为什么符号链接方法不起作用。 这是命令序列
ln -s /path/to/script /directory/already/in/path/myscript
#Now there is a symlink called myscript in a directory which is in PATH
source myscript arg1 #This throws an error saying no such file myscript,
#but it is not supposed to happen because myscript resides in a directory which is in PATH
编辑2: 我只想到我做错了什么,我创建的符号链接,我使用了相对路径,完全愚蠢的我,使用绝对路径,它就像一个魅力。
答案 0 :(得分:1)
尝试更换:
alias aliastoscript="/path/to/script"
with:
export aliastoscript="/path/to/script"
答案 1 :(得分:0)
您在变量名称前面缺少<?php
/* Template name:View Batches */
echo "Batch id=".$_GET["bid"];
get_header();
get_footer();
?>
。
$
您不需要软链接来源。完整的文件名应该有效。更好的是
source $aliastoscript