连接密码和基本名称

连接密码和基本名称

我想将路径和文件名分配给变量:

/path/to/myfile/file.txt

例如

MYFILE=$(pwd)$(basename)

我该怎么做 ?

答案1

按照说明回答问题:这是一个简单的字符串连接。

somedirpath='/some/path'  # for example $PWD or $(pwd)
somefilepath='/the/path/to/file.txt'

newfilepath="$somedirpath"/"$( basename "$somefilepath" )"

您很可能希望/在连接字符串时在两个路径元素之间包含 a ,并basename采用一个路径参数(问题中缺少这一点)。


阅读您的其他答案,看起来您正在寻找bash脚本路径和名称。这在 中可用BASH_SOURCE,它是一个数组。它是唯一的元素(除非你在一个函数中)将是你想要的。在一般情况下,它是最后的数组中您要查看的元素。

bash4.4 中,这是${BASH_SOURCE[-1]}.

答案2

我尝试了这个并且有效:

#!/bin/bash
SCRIPT=$(pwd)$(basename $0)
echo $SCRIPT

如果有更好的方法,欢迎分享。

相关内容