我想编写一个 bash 脚本,它接受包含特殊字符.、..和的一个或多个用法的文件规范作为输入参数~。我希望我的脚本的输出能够回显 Bash 对我的脚本的完整路径解释。
这是我尝试过的脚本:
a=$(ls -l -o -g "${1}" | cut --delimiter=' ' --fields=1-6 --complement -)
echo "\\"${a}\\""
Run Code Online (Sandbox Code Playgroud)
如果我发出命令:myscript ~/.local/../.profile
返回的结果是:/home/OldManK/.local/../.profile。但我想要:/home/OldManK/.profile。
另一个例子:myscript ~/./.profilereturn: /home/OldManK/./.profile,但是,我想要:/home/OldManK/.profile。
另一个(从 执行/home/OldManK/.local):myscript ../.profile返回:../.profile,但是,我想要:/home/OldManK/.profile。
请问还有其他方法吗?