从 shell 启动别名应用程序并传递文档的相对路径

从 shell 启动别名应用程序并传递文档的相对路径

我使用以下方式为 shell 命令创建了“别名”:

alias "myapplication"="/home/manuel/myapp/bin/startapp.sh"

现在我想向它传递一个执行别名命令时所在的相对文件路径,如下所示:

manuel@gemini:~/Desktop/myfolder$ myapplication myfile.xml

但别名应用程序只获取文件名myfile.xml

我应该在别名行中添加一些内容吗?

答案1

您的问题出在您的应用程序中。如果您想从相对路径获取绝对路径,请在应用程序/脚本中尝试以下方法:

abs_path=$(readlink -m "$1")

答案2

别名不提供参数。您需要一个 shell 函数来实现这一点:

function myapplication() { /home/manuel/myapp/bin/startapp.sh "$@" ;}

现在你可以使用以下命令调用 myapplication():

myapplication myfile.xml

相关内容