Se um script for executável e seu diretório pai estiver em $PATH
, você poderá usá-lo como um comando. Por exemplo, você pode criar um script bash com os comandos mencionados:
#!/bin/bash
cd /path/to/folder/of/symlink
sudo rm -f symlink
sudo ln -s /new/path/of/symlink
cd /new/path/of/symlink
Em seguida, você pode salvá-lo como um arquivo, subchange
e torná-lo executável com chmod +x subchange
. Eu tenho um diretório de scripts no meu sistema (por exemplo /tech/scripts
) que adiciono ao meu $PATH
. Muitas vezes, a variável de ambiente $PATH
é definida em um arquivo ~/.profile
, ~/.bashrc
, /etc/bashrc
ou semelhante. Você pode adicionar seu diretório fazendo:
export PATH=/tech/scripts:$PATH
Se você adicionou isso a um arquivo de inicialização, precisará reiniciar o seu shell ou fazer a sua origem (por exemplo, source ~/.bashrc
). Agora você pode usar subchange
na linha de comando e executará esses comandos. Para adicionar um argumento ao comando, você pode usar o operador $1
. No bash isso representa o primeiro argumento, portanto, se eu fizer subchange trunk
, então $1
será trunk
. Você pode adicionar isso ao seu script conforme necessário:
#!/bin/bash
cd /path/to/folder/of/symlink
sudo rm -f symlink
sudo ln -s /new/path/$1/symlink
cd /new/path/$1/symlink
O #!
na parte superior do arquivo é chamado de shebang ( ela se move ... ela se move ... ). Para um script em um sistema unix, ele informa ao sistema qual binário executar os seguintes comandos. Neste caso, estamos especificando /bin/bash
porque queremos executar este arquivo como comandos bash e o binário bash está em /bin
. Isso poderia especificar outra linguagem e apontar para seu binário.