CD do alias para um diretório cujo nome está incluído no diretório atual

0

Eu tenho usado o cmake e criado uma pasta de compilação para o meu código cmake e quero facilmente fazer o cd para o diretório de compilação. Eu tenho chamado meu diretório de compilação neste formato:

/ parent / codeandsuch

/ parent / codeandsuch_build

Eu tentei o seguinte alias no meu bashrc mas não está funcionando. Eu copiei o nome do diretório atual para uma string, adicionei _build a ele e tentei cd, mas não está funcionando. Alguma ideia? Obrigado

alias cdbuild='DIR=${PWD##*/} || DIR = DIR + "_build"|| echo DIR || cd ../DIR'
    
por saphire121 31.01.2018 / 16:39

1 resposta

0

Você não pode concatenar strings com + no bash. Além disso, você precisa prefixar um $ no nome da variável para usar seu valor. Então, ao invés de:

DIR = DIR + "_build"

use:

DIR="${DIR}_build"

A coisa toda se torna:

alias cdbuild='DIR=${PWD##*/} || DIR="${DIR}_build || echo "$DIR" || cd "../$DIR"'

Alternativamente:

alias cdbuild='cd "$(pwd)_build"'
    
por 31.01.2018 / 16:44