脚本-绝对相对路径

罗伯·P

我正在尝试执行一个单声道应用程序,而不要求用户键入“单声道文件名”。这只是一行代码:

mono ./Bin/jobshop.exe $1 $2 $3 $4 $5 $6 $7 $8 $9

只要我从正确的目录中调用它,它就可以很好地工作。但是,如果我的当前目录不是脚本的确切位置,则会失败,因为./Bin是相对于当前目录的。我希望它相对于脚本的位置。

我发现我可以使用以下方式获取脚本的位置

echo dirname "$(readlink -f "$0")"/Bin/jobshop.exe $1 $2 $3 $4 $5 $6 $7 $8 $9

在屏幕上正确显示;但我不知道如何将其放入我的第一个脚本中,以使mono执行该值。

我正在使用'tcsh',但是我更喜欢一个与任何shell无关的答案。

我只想运行'mono'+'dirname“ $(readlink -f” $ 0“)” / Bin / jobshop.exe $ 1 $ 2 $ 3 $ 4 $ 5 $ 6 $ 7 $ 8 $ 9'

但我似乎无法正确地做到这一点。

cuonglm

试试这个:

#!/bin/bash

path=$(dirname $(readlink -e -- "$0"))

/path/to/mono "$path"/Bin/jobshop.exe "[email protected]"
  • 您应该将程序路径保存在$ path变量中。
  • 使用"[email protected]"而不是列出所有命令行参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章