如何在bash

时间:2017-08-03 20:27:57

标签: bash shell

我有目录

  

MainProject / SRC /

我正在调用test.sh的脚本在/ MainProject /运行,这里是sript的一部分:

dotnet restore src/*.sln
dotnet msbuild -t:publish src/*.sln -p:Configuration=Release

对于此命令,我希望MainProject.Test为变量VAR:

dotnet vstest VAR/bin/Release/netcoreapp1.1/VAR.dll

或类似的东西:

dotnet vstest {src/*.Test}/bin/Release/netcoreapp1.1/{src/*Test}.dll

其中包含以下文件和文件夹:

文件:

  

project.sln

     

somescript.sh

文件夹:

  

MainProject.Test

     

MainProject.Host

我需要做的是获取MainProject.Test文件夹名称并将其设置为变量,但我还需要将其设置为模板化,我可以使用类似*.Test的内容将其设置为变量

原因是我需要参数化脚本,因为有

  

MainProject2

     

MainProject3

     

MainProjectx

使用相同的命名约定。

1 个答案:

答案 0 :(得分:1)

当前目录位于$PWD。那是完全合格的;使用parameter expansion删除从开头到最后/的所有内容${PWD##*/}

因此,要提取当前工作目录的最后一部分并添加.Test作为后缀:

result=${PWD##*/}.Test