EdgeRouter - 스크립트에서 운용 모드 명령어를 실행하는방법 ================================================================ download at 2017-10-16T21:15:21Z `origin `_ Overview -------- -------------- 이 문서는 스크립트에서 운용모드 명령어를 실행하는 방법에 대하여 서술합니다. Example ------- -------------- 예제 스크립트: :: ubnt@ubnt:~$ cat myscript #!/bin/bash show version show interfaces 스크립트가 실행가능하도록 하기 위해서 다음 명령어를 수행합니다: :: ubnt@ubnt:~$ chmod +x myscript 스크립트를 실행하였을 때, 다음 에러를 출력합니다: :: ubnt@ubnt:~$ ./myscript ./myscript: line 2: show: command not found ./myscript: line 3: show: command not found 왜 문제가 생길까요? **정답**: 스크립트에서 필요한 환경변수가 없기 때문입니다. 이 문제를 해결하기 위해서는 필요한 환경변수를 포함하는 명령어 래퍼를 통해서 며령어를 실행해야 합니다 예를 들어: :: ubnt@ubnt:~$ cat myscript #!/bin/bash run=/opt/vyatta/bin/vyatta-op-cmd-wrapper $run show version $run show interfaces 이제 스크립트를 실행하면 다음과 같은 결과를 얻을 수 있습니다: :: 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 모든 디렉토리는 업그레이드 중에는 덮어쓰기가 이루어지기 때문에 필요한 스크립트는 /config 디렉토리 아래에 위치하도록 합니다. :: mv myscript /config/scripts UBNT-stig & UBNT-Jamie