Listagem da árvore de diretórios, script não funciona em csh?

0
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'

Eu encontrei um comando para exibir a árvore de diretório (veja acima), não funcionou corretamente. Deu a mensagem de erro "Nome da variável ilegal". Acho que o erro está em $ sign. Como posso modificar este comando para o ambiente cshell?

    
por Trong Nhan Nguyen 30.07.2018 / 10:01

2 respostas

1

:$ deve estar entre aspas simples para impedir que o shell o expanda.

então ls -R | grep ':$' | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'

Sua próxima coisa a aprender, é a criação de shell e as expansões.

Além disso, muitas pessoas consideram csh como um erro. Está cheio de comportamento inconsistente estranho. Considere outro bash , ksh , fish

    
por 30.07.2018 / 11:12
1

Em vez de um script de shell, você pode usar comandos externos. 'tree' pode estar disponível em seu ambiente, então é fácil.

tree -d
    
por 30.07.2018 / 11:17