Você está pensando demais. Não use ls
neste caso. Apenas mv
- mv debug/* .
Você não pode canalizar nada para mv
da maneira que você está tentando de qualquer maneira.
Tem uma pasta chamada debug e gostaria de mover o conteúdo para o diretório pai
Tentei:
ls -a debug/ | mv * .
Resultado (erro):
mv: 'debug' and './debug' are the same file
Ele está tentando mover o diretório de depuração, certo? Como evitar isso?
Você está pensando demais. Não use ls
neste caso. Apenas mv
- mv debug/* .
Você não pode canalizar nada para mv
da maneira que você está tentando de qualquer maneira.
Você precisa entender várias coisas sobre .
, ..
e como usá-las. Agora, a partir da resposta dada por John
mv debug/* .
isto está dizendo mover o conteúdo (todos) da pasta de depuração para a minha pasta atual, aqui representada por .
. Mas uma situação onde você está na pasta de depuração, então você vai conseguir o mesmo com o seguinte comando:
mv * ../
Isso diz: mova tudo para o meu local atual (pasta de depuração) para a pasta pai aqui representada por ..
. Portanto, .
significa a pasta atual e ..
significa pasta pai em relação ao local em que você está atualmente.
Tags mv ls shell-script