我有一个终端shell脚本文件start.command,我从finder启动:
ls -l
Run Code Online (Sandbox Code Playgroud)
该文件在~/foo列表中~,我可以获取它包含dir的路径.我想在用户运行时启动与文件位于同一文件夹中的应用程序,.command但似乎我需要文件的绝对路径才能工作.
假设使用bash,您需要cd在运行之前访问脚本的封闭目录ls.
你可以用这个单行:
cd "$(dirname "$0")"
Run Code Online (Sandbox Code Playgroud)
$0是脚本的相对路径,即您在命令行上用于调用它的任何内容.dirname从路径中删除文件名.
$()是一个值来扩展cd,并且引号都是处理路径中空格之类的东西所必需的.
| 归档时间: |
|
| 查看次数: |
1200 次 |
| 最近记录: |