EdgeMAX - como executar o comando de modo operacional de scripts?

Visão geral


Os leitores aprenderão como executar comandos do modo operacional de scripts. 

Exemplo de


Script de exemplo:

ubnt@ubnt:~$ cat myscript 
#!/bin/bash 
show version 
show interfaces

Eu me certifiquei de que o roteiro era executável com:

ubnt@ubnt:~$ chmod +x myscript

Mas quando eu executá-lo, eu recebo os seguintes erros:

ubnt@ubnt:~$ ./myscript
./myscript: line 2: show: command not found
./myscript: line 3: show: command not found

Por que não está funcionando? 

Resposta : O script está faltando as variáveis de ambiente que precisa.  Para corrigi-lo, você pode executar o comando com invólucro de comando que tem as variáveis de ambiente que precisa.  Por exemplo:

ubnt@ubnt:~$ cat myscript
#!/bin/bash
run=/opt/vyatta/bin/vyatta-op-cmd-wrapper
$run show version
$run show interfaces

Agora quando o script é executado obtemos:

ubnt@ubnt:~$ ./myscript
Version:      v1.2.0alpha2
Build ID:     4558456
Build on:     05/02/13 16:24
Copyright:    2012-2013 Ubiquiti Networks, Inc.
HW model:     EdgeRouter Lite 3-Port
HW S/N:       DC9FDB29DBEE
Uptime:       22:09:25 up 11 days,  1:25,  1 user,  load average: 0.08, 0.02, 0.01

Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface    IP Address                        S/L  Description                 
---------    ----------                        ---  -----------                 
eth0         192.168.1.1/24                    u/D  secure LAN                  
eth1         192.168.2.1/24                    u/D  public LAN                  
eth1.100     2.2.2.3/24                        u/D                              
eth2         1.1.1.2/24                        u/u  WAN                         
lo           127.0.0.1/8                       u/u           

Para que o script sobreviver um upgrade você vai querer movê-lo para o diretório/config já que esse diretório inteiro Obtém copiado em processo de atualização.

mv myscript /config/scripts

Ubiquiti Employee & Ubiquiti Employee
Powered by Zendesk