Crie um alias para o diretório da área de trabalho

1

Se eu digitar cd Desktop , não importa em qual pasta o terminal está aberto no momento, quero que ele navegue até /home/bob-ubuntu/Desktop

No meu arquivo .bashrc , tenho as seguintes linhas na parte inferior:

alias desktop='/home/bob-ubuntu/Desktop'

alias Desktop='/home/bob-ubuntu/Desktop'

e, em seguida, eu fonte, mas quando eu digito cd Desktop ou cd desktop ainda dá o mesmo erro?

    
por K Split X 17.06.2017 / 20:31

3 respostas

0
alias desktop='/home/bob-ubuntu/Desktop'
cd desktop

Um alias é para um nome de comando. Um parâmetro para o comando cd não é um nome de comando. O alias não é usado neste contexto.

Se você digitar apenas desktop , isso invocará o alias. Mas, por padrão, você receberá um erro

bash: /home/bob-ubuntu/Desktop: Is a directory

Adicione a linha shopt -s autocd ao seu ~/.bashrc para que a digitação de um nome de diretório na posição de comando execute cd nesse diretório. Dessa forma, você pode mudar para o diretório ~/Desktop digitando apenas ~/Desktop (em vez de cd ~/Desktop ) ou, com seu alias, desktop .

Como alternativa, defina um alias para um comando que funcione:

alias desktop='cd /home/bob-ubuntu/Desktop'
    
por 18.06.2017 / 01:15
1

Existem muitas maneiras:

  • Você pode criar uma variável para $desktop e / ou $D como um atalho para ela.
  • Você pode alias desktop='cd /home/bob-ubuntu/Desktop'
  • Você pode usar $USER/Desktop
  • Você pode usar $XDG_DESKTOP_DIR se os diretórios de usuário XDG estiverem definidos.
  • Você pode adicionar a variável de ambiente /home/bob-ubuntu a CDPATH do comando cd

Mas você está realmente melhor apenas usando:

cd ~/Desktop

Tilda não deveria se machucar! : D

Observe que você também pode usar o tilda para alternar para os diretórios $HOME de muitos usuários em seu sistema da seguinte forma:

cd ~root
ls ~ftp
echo ~nobody
    
por 17.06.2017 / 22:02
0

Como icarus sugerido nos comentários, uma maneira simples é criar um alias que use cd ~/Desktop

No entanto, se você realmente quer que cd se comporte dessa maneira, você pode aliasar uma função para cd que lida com a verificação se o diretório é Desktop :

_cd () {
  if [ "$1" == "Desktop" ]; then
    cd ~/Desktop
  else
    cd $1
  fi
}
alias cd="_cd"

No entanto, isso também faz com que a conclusão da tabulação para cd seja interrompida

    
por 17.06.2017 / 20:58