我有一个脚本:
#!/bin/bash
echo "$(dirname $(readlink -e $1))/$(basename $1)"
位于此处:/home/myuser/bin/abspath.sh
具有执行权限。
如果我运行,echo $PATH
我会得到以下信息:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/myuser/bin
我希望能够从任何目录调用abspath <some_path_here>
并调用我的脚本。我正在使用 bash,我做错了什么?
你想键入
abspath
,但程序被命名abspath.sh
。问题不在于它是否在 PATH 中,而在于您根本没有使用它的名称来调用它。你有两个选择:
abspath.sh
改为键入。abspath
.这段代码足够小,我可以将其编码为 shell 函数:
是的,您确实想要所有这些报价。
通过在 .bashrc 文件中添加命令来设置别名。
并且不要忘记源文件。
我会重命名您的 bash 脚本,
abspath
然后将其移动到bin
目录中。abspath
届时您将无法从任何地方拨打电话第三种选择是创建一个名为 abspath 的别名,它指向您的 abspath.sh 脚本。