我使用以下方式为 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