【发布时间】:2015-04-24 00:46:22
【问题描述】:
function abspath() {
pushd . > /dev/null;
if [ -d "$1" ]; then
cd "$1";
dirs -l +0;
else
cd "`dirname \"$1\"`";
cur_dir=`dirs -l +0`;
if [ "$cur_dir" == "/" ]; then
echo "$cur_dir`basename \"$1\"`";
else
echo "$cur_dir/`basename \"$1\"`";
fi;
fi;
popd > /dev/null;
}
我想使用这个脚本,但我对使用我不完全理解的东西很谨慎。
【问题讨论】:
-
你需要找到函数
dirs才能知道它的作用。 -
您还可以将每一行/代码块复制/粘贴到终端窗口中。使用
set -x显示变量的扩展。使用set -- "/your/dir/of/interest"设置$1的值。祝你好运。 -
另外,编写与
readlink命令等效的程序并不难,获取readlink的GNU 版本并将其安装在Mac 上并不难。