Alternativa não-sudo para / usr / local / bin para scripts comuns

15

Estou acostumado a colocar scripts comuns em /usr/local/bin para que eu possa executá-los de qualquer lugar com o terminal.

Por exemplo, faço um script de shell chamado 1 , executo-o com chmod +x 1 e coloco em /usr/local/bin e, dentro do script, digito #!/bin/sh na primeira linha e, em seguida, meus comandos. A partir daí, é muito prático de usar e rápido de executar, digitando

1 Enter

no terminal, de dentro de qualquer pasta.

Meu problema é que atualmente estou trabalhando em um computador em que não posso fazer sudo e também não posso esperar obtê-lo, por isso não posso colocar meu script em /usr/local/bin .

Quais são minhas opções? Existe outro caminho com o mesmo recurso "executar de qualquer lugar", que eu posso acessar sem sudo , ou outra maneira de conseguir algo equivalente?

A resposta aceita para este post diz

  

Para scripts com escopo no usuário, use bin / em seu diretório inicial.

Eu tentei, mas não há uma pasta bin no meu diretório pessoal e, quando criei uma, ainda não consegui executar o script em nenhum outro lugar.

Estou no Ubuntu 12.04 LTS.

    
por user985366 01.07.2015 / 10:13

2 respostas

18
  

Quais são minhas opções? Existe outro caminho com o mesmo "run from   em qualquer lugar "capacidade, que eu posso acessar sem sudo, ou outra maneira   para conseguir algo equivalente?

Como fazer isso?

Crie algum diretório em sua casa para manter seus scripts normalmente chamados de bin como convenção.

mkdir ~/bin

Agora mova seus scripts para o bin

mv somescript ~/bin

Agora, como fazer tun em qualquer lugar?!

Você precisa adicionar o bin ao PATH

abra seu .bashrc

gedit .bashrc

e adicione esta linha:

export PATH=$PATH:/home/username/bin

Não se esqueça de substituir username pelo seu nome de usuário

Salve e saia, depois digite o bashrc

source .bashrc

e agora você está bem, você pode executar seu script como costumava fazer! mas você tem que perceber que isso está relacionado apenas ao seu usuário.

Observação: é melhor renomear seus scripts, exceto 1, 2, pois você pode enfrentar alguns problemas com esses nomes

ATUALIZAÇÃO:

Você pode fazer o mesmo, basta criar o bin dir na sua casa, em seguida, source ~/.profile em vez de ~/.bashrc . Já que adicionar o ~ / bin ao seu PATH já está listado em .profile

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
    
por Maythux 01.07.2015 / 10:18
3

Além do link , você também pode definir um alias dentro do seu .bashrc para tarefas pequenas e usadas com frequência. Por exemplo.

alias ll='ls -l'
alias ls='ls --color=auto'

criará um "comando" ll, que está fazendo ls -l e ls será colorido após a definição do alias. O link está tendo mais alguns exemplos e um tutorial para configurá-lo.

    
por frlan 01.07.2015 / 10:24