A resposta curta é: sim para todos.
Vou dar alguns exemplos. A seguir, um exemplo de um comando que executa um script bash local em uma máquina remota: observe que não é necessário copiá-lo remotamente:
ssh user@remote_pc 'bash -s' < local_file.sh
Isso é tão simples que talvez não mereça escrever um script inteiro para lidar com isso, mas se você quiser fazer isso, ele também pode ser organizado por meio de um script. Para que isso funcione, você precisará configurar passwordless login
para conexões ssh. Se você não fizer isso, os comandos ssh / scp dentro do script serão interrompidos enquanto aguardam a inserção da senha do usuário remoto.
Quanto à edição e assim por diante, o Unix possui o editor de fluxo final sed
, que faz exatamente isso: por exemplo, o comando
sed 's/a/A/g' old_file.txt > new_file.txt
substitui a letra minúscula a
na letra maiúscula A
e coloca a saída em um novo arquivo. Isso também pode ser facilmente roteirizado.
Quanto aos parâmetros, o script de shell pode ler parâmetros de um arquivo ou pode consultar o ambiente para alguns parâmetros. Não há necessidade de perguntar a um usuário seu nome de login,
echo $USER
whoami
fará isso, mesmo a partir do script. A mesma coisa para um endereço residencial, echo $HOME
e assim por diante.
Quanto à sua terceira pergunta, espero que minha primeira resposta também forneça uma resposta: o primeiro comando permite que você execute um arquivo de script, que você editou localmente, em um servidor remoto, sem precisar copiá-lo lá.
Bem-vindo ao mundo do * Nix, onde o seu desejo é o meu comando .
Desculpe, esqueci: este comando
export -p | more
exibirá todas as variáveis locais que estão disponíveis em todos os lugares (tecnicamente, que foram exportadas ).