Usando alias para ecoar backticks no bash

3

Desculpas se isso for respondido em outro lugar, eu não poderia, para a vida de mim, encontrar uma solução para o meu caso particular, o que é um pouco estranho, admito. (Observação: todas as palavras "Usando" nesta postagem aparecem em azul por algum motivo, mas não devem ser e não sei como evitar isso).

Eu uso o bash no MacOS. Eu tenho alguns aliases no meu .bashrc que apenas imprimem na janela do terminal algo para me ajudar a lembrar comandos, ou mostrar rapidamente a alguém um exemplo (no código abaixo eu estou criando o alias na linha de comando, mas na realidade eu sempre coloque aliases em .bashrc):

556 ~ alias howtotensorboard="echo tensorboard --logdir=logs/ --port=6001"
557 ~ howtotensorboard
tensorboard --logdir=logs/ --port=6001

Se eu usar o echo apenas na linha de comando, precedendo um backtick com uma barra invertida, é possível imprimir um backtick na janela:

559 ~ echo Using \'which python\' etc
Using 'which python' etc

Mas fazer a mesma coisa em um alias, na verdade, executa 'python' em vez de imprimi-lo na janela:

560 ~ alias howtobacktick="echo Using \'which python\' etc"
561 ~ howtobacktick
Using /usr/bin/python etc

TL; DR, o que eu quero é colocar um alias em .bashrc que use echo para imprimir um backtick, para que no final eu possa fazer exatamente isso no bash:

558 ~ howtobacktick
Using 'which python' etc

Eu tentei várias variações dentro do alias no .bashrc e nenhuma delas funcionou. Como posso obter o comportamento que estou procurando? E existe uma maneira de fazer isso especificamente com eco?

    
por Galen 22.08.2017 / 22:08

1 resposta

2
$ alias howtobacktick='echo Using \'which python\' etc'
$ howtobacktick
Using 'which python' etc

EDITAR :

É porque os backticks ( ' ) e outros caracteres especiais não são tratados especialmente entre aspas simples. Comparar:

$ echo 'Using 'which python' etc'
Using 'which python' etc
$ echo "Using 'which python' etc"
Using /usr/bin/python etc
    
por 22.08.2017 / 22:15