Hux*_*uxi 22 shell bash mac-osx
我想检索当前执行的脚本文件的绝对文件名。链接也应该解决。
在 Linux 上,这似乎是这样完成的:
$(readlink -mn "$0")
Run Code Online (Sandbox Code Playgroud)
但readlink似乎工作非常不同的Mac OS X上
我读过这是使用
$(realpath $0)
Run Code Online (Sandbox Code Playgroud)
在 BSD 中,但这也不起作用。Mac OS X 没有realpath.
任何的想法?
小智 29
#!/usr/bin/env bash
scriptDir="$(cd "$(dirname "$0")" && pwd -P)"
Run Code Online (Sandbox Code Playgroud)
eri*_*law 22
我作弊并使用 perl 来做这件事:
#!/bin/bash
dirname=`perl -e 'use Cwd "abs_path";print abs_path(shift)' $0`
echo $dirname
Run Code Online (Sandbox Code Playgroud)
你会认为我只是用 perl 编写整个脚本,我经常这样做,但并非总是如此。
| 归档时间: |
|
| 查看次数: |
14988 次 |
| 最近记录: |