:lastproofread: 2021-06-27 .. _command-scripting: Command Scripting ================= VyOS supports executing configuration and operational commands non-interactively from shell scripts. To include VyOS specific functions and aliases you need to ``source /opt/vyatta/etc/functions/script-template`` files at the top of your script. .. code-block:: none #!/bin/vbash source /opt/vyatta/etc/functions/script-template exit Run configuration commands -------------------------- Configuration commands are executed just like from a normal config session. For example, if you want to disable a BGP peer on VRRP transition to backup: .. code-block:: none #!/bin/vbash source /opt/vyatta/etc/functions/script-template configure set protocols bgp system-as 65536 set protocols bgp neighbor 192.168.2.1 shutdown commit exit Run operational commands ------------------------ Unlike a normal configuration session, all operational commands must be prepended with ``run``, even if you haven't created a session with configure. .. code-block:: none #!/bin/vbash source /opt/vyatta/etc/functions/script-template run show interfaces exit Run commands remotely --------------------- Sometimes you simply wan't to execute a bunch of op-mode commands via SSH on a remote VyOS system. .. code-block:: none ssh 192.0.2.1 'vbash -s' <