是否有一种简单的方法可以打印file.txt的完整路径?

file.txt = /nfs/an/disks/jj/home/dir/file.txt

<命令>

dir> <command> file.txt  

应该打印

/nfs/an/disks/jj/home/dir/file.txt

当前回答

除了"readlink -f",还有一个常用的命令:

$find /the/long/path/but/I/can/use/TAB/to/auto/it/to/ -name myfile /the/long/path/but/I/can/use/TAB/to/auto/it/to/myfile $

这也给出了控制台的完整路径和文件名

跑题:这种方法只给出相对链接,而不是绝对链接。readlink -f命令是正确的。

其他回答

在类似的场景中,我从其他位置启动cshell脚本。为了设置脚本的正确绝对路径,让它只在指定的目录中运行,我使用了以下代码:

set script_dir = `pwd`/`dirname $0`

$0存储脚本执行的确切字符串。

例如,如果脚本像这样启动:$> ../../test/test.csh, $script_dir将包含/home/abc/sandbox/v1/

fp () {
PHYS_DIR=`pwd -P`
RESULT=$PHYS_DIR/$1
echo $RESULT | pbcopy
echo $RESULT
}

将文本复制到剪贴板并在终端窗口上显示文本。

:)

(我从另一个堆栈溢出的答案复制了一些代码,但再也找不到答案了)

除了"readlink -f",还有一个常用的命令:

$find /the/long/path/but/I/can/use/TAB/to/auto/it/to/ -name myfile /the/long/path/but/I/can/use/TAB/to/auto/it/to/myfile $

这也给出了控制台的完整路径和文件名

跑题:这种方法只给出相对链接,而不是绝对链接。readlink -f命令是正确的。

对于Mac OS,如果你只是想在查找器中获取文件的路径,控制单击该文件,并向下滚动到底部的“服务”。你有很多选择,包括“复制路径”和“复制完整路径”。单击其中一个将路径放到剪贴板上。

在mac下面提到的行工作。不需要添加任何花哨的线条。

> pwd filename