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.