--- lastproofread: '2023-01-16' --- (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. ```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: ```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. ```none #!/bin/vbash source /opt/vyatta/etc/functions/script-template run show interfaces exit ``` ## Run commands remotely Sometimes you simply want to execute a bunch of op-mode commands via SSH on a remote VyOS system. ```none ssh 192.0.2.1 'vbash -s' <