在 bash Linux 中
v1=$(basename $0) gives filename.ext
v1=${v1%.*}.log replaces ext filename.log
如何合并成一行?当我在下面尝试时,我得到了错误的替换错误
v1={($(basename $0))%.*}.log
谢谢
最佳答案
你只能对参数使用参数扩展,所以一般情况下你不能这样做。
但是,在这种特定情况下,您可以重新排序操作,因为无论您是先使用基本名称还是先剥离扩展名都没有关系:
v1=$(basename "${0%.*}.log")
关于linux - 在一行代码中使用 basename 替换扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37285814/