我希望将路径和文件名分配给一个变量:
/path/to/myfile/file.txt例如
MYFILE=$(pwd)$(basename)我该怎么做呢?
发布于 2018-02-09 11:43:19
若要回答所述问题,请注意:这是一个简单的字符串连接。
somedirpath='/some/path' # for example $PWD or $(pwd)
somefilepath='/the/path/to/file.txt'
newfilepath="$somedirpath"/"$( basename "$somefilepath" )"当连接字符串时,您很可能希望在两个path元素之间包含一个/,而basename接受一个参数,它是一个路径(在问题中这是缺失的)。
阅读您的另一个答案,看起来您正在寻找bash脚本路径和名称。这在BASH_SOURCE中是可用的,它是一个数组。它只是你想要的元素(除非你在一个函数中)。在一般情况下,这是要查看的数组中的最后一个元素。
在bash 4.4中,这是${BASH_SOURCE[-1]}。
发布于 2018-02-09 11:05:33
我试过了,结果成功了:
#!/bin/bash
SCRIPT=$(pwd)$(basename $0)
echo $SCRIPT如果有更好的方法,请分享。
https://unix.stackexchange.com/questions/423006
复制相似问题