Estou tentando usar um comando no meu script que imprimirá o conteúdo do texto literal do próprio script.
Tentei usar cat $(pwd)/$(basename "$0")
, mas não funciona. Alguém descobriu como?
Estou tentando usar um comando no meu script que imprimirá o conteúdo do texto literal do próprio script.
Tentei usar cat $(pwd)/$(basename "$0")
, mas não funciona. Alguém descobriu como?
Vamos dissecar este comando:
$(pwd)
expande para o diretório atual em que você está.$(basename "$0")
expande para o nome do arquivo do script em execução.Portanto, se você executar o script no mesmo diretório, isso deve funcionar.
No entanto, se o diretório atual não for o diretório em que o script está localizado, esse comando falhará.
Você pode ver que
pwd
no comando está procurando no diretório atual , não naquele em que o script está.Para resolver, basta usar
$0
em vez disso.Isso é mais simples e funcionará independentemente do diretório atual.