alterando o diretório no arquivo de script bash [duplicado]

0

Passei muito tempo no mundo DOS, onde o cd .. (sem espaço) funciona.

Eu tentei fazer o mesmo no Ubuntu, definindo um arquivo bash em / usr / local / bin chamado "cl .."

seu corpo é

#!/bin/bash
cd ..

Eu tenho chmod + x no arquivo.

Não funciona, o Ubuntu não reclama do comando não encontrado.

o que eu fiz de errado?

    
por mfc 13.09.2015 / 03:00

1 resposta

3

Os shell scripts do Unix são bem diferentes dos arquivos bat do DOS, no sentido de que são executados como processos separados, não apenas carregando comandos no prompt de comando atual, como ocorre com o windows cmd.exe

O que você realmente quer, é realmente bash alias ou função.

Tanto alias cd..='cd ..' como cd..() { cd ..; } farão o truque, primeiro um define alias, segundo uma função de shell.

Para disponibilizá-lo em shells subsequentes, ele deve ser gravado no arquivo .bash_profile , .bashrc ou .profile em seu diretório pessoal. Qual arquivo exatamente depende das configurações de distribuição, verifique man bash , /etc/profile e /etc/*bashrc para obter detalhes.

man bash irá ajudá-lo com os comandos disponíveis.

Se você está procurando um shell mais user-friendly do que o bash, então sugiro que você procure em zsh package.

    
por korc 13.09.2015 / 03:11