Estou acostumado a inserir scripts comuns /usr/local/bin
para poder executá-los de qualquer lugar com o terminal.
Por exemplo, eu faço um script de shell chamado 1
, torno-o executável chmod +x 1
e coloco-o em /usr/local/bin
, e dentro do script digito #!/bin/sh
na primeira linha e depois meus comandos. A partir daí, é muito conveniente 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 onde não posso fazer isso sudo
e também não posso esperar obtê-lo, então não posso colocar meu script no formato /usr/local/bin
.
Quais são minhas opções? Existe outro caminho com a mesma capacidade de "executar de qualquer lugar", que eu possa acessar sem sudo
, ou outra maneira de conseguir algo equivalente?
A resposta aceita paraesta postagemdiz
Para scripts com escopo de usuário, use bin/ em seu diretório inicial.
Tentei, mas não há nenhuma bin
pasta em meu diretório inicial e, quando criei uma, ainda não consegui executar o script em nenhum outro lugar.
Estou executando no Ubuntu 12.04 LTS.
Responder1
Quais são minhas opções? Existe outro caminho com a mesma capacidade de "executar de qualquer lugar", que eu possa acessar sem o sudo, ou outra maneira de conseguir algo equivalente?
Como fazer isso?
Crie algum diretório em sua casa para armazenar seus scripts normalmente nomeados como bin
convenção.
mkdir ~/bin
Agora mova seus scripts para o lixo
mv somescript ~/bin
Agora, como fazer com que ele sintonize de todos os lugares?!
Você tem que adicionar bin
ao PATH
abre o teu.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 e, em seguida, obtenha o bashrc
source .bashrc
e agora você está bem, pode executar seu script como costumava fazer! mas você deve notar que isso está relacionado apenas ao seu usuário.
Nota: É melhor renomear seus scripts com nomes diferentes de 1 ,2, pois você pode enfrentar alguns problemas com esses nomes
ATUALIZAR:
Você pode fazer o mesmo, basta criar o diretório bin em sua casa, em source ~/.profile
vez de ~/.bashrc
. Como adicionar ~/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
Responder2
Além dehttps://askubuntu.com/a/643030/218015você também pode definir um alias dentro de seu .bashrc para tarefas pequenas e usadas com frequência. Por exemplo
alias ll='ls -l'
alias ls='ls --color=auto'
irá criar um "comando" ll, que está fazendo ls -l e ls será colorido após definir o alias.https://wiki.ubuntuusers.de/aliasestá tendo mais alguns exemplos e um tutorial para configurá-lo.
Responder3
Tentar ~/.local/bin/
.
(Reconheço que esta resposta não acrescenta nada de novo, mas há uma resposta curta para esta pergunta que não deve exigir a leitura de todo o resto.)
Responder4
Realmente deveria haver uma lixeira por usuário porque seria muito útil em ambientes multiusuários, onde as pessoas não têm privilégios de root para deixar todos mais seguros. Use o seguinte em um script bash para criá-lo automaticamente.
if [ ! -d "$HOME/.local/bin" ] ; then
mkdir -p "$HOME/.local/bin"
printf '\nexport "PATH=$PATH:'"$HOME"/.local/bin'"' >> "$HOME/.bashrc"
# Change the PATH right now:
PATH="$PATH:$HOME/.local/bin"
fi