SHELL()

Since 1.6.0 Functions Found this useful? Upvote it. ×

Executes a command using the system shell and captures its output.

Last reviewed 2026-04-14

SHELL(command)
Description

Collects the output generated by a command executed by the system shell

title="Shell example" exten => s,1,Set(foo=${SHELL(echo bar)})

Note

The command supplied to this function will be executed by the system's shell, typically specified in the SHELL environment variable. There are many different system shells available with somewhat different behaviors, so the output generated by this function may vary between platforms. If live_dangerously in asterisk.conf is set to no, this function can only be executed from the dialplan, and not directly from external protocols.

Arguments
  • command required - The command that the shell should execute.

User Notes

No notes yet. Be the first to contribute a tip or example.

Contribute a note

Share a tip, gotcha, or practical example. Keep it under 2000 characters. No questions (use the Asterisk community forums for support). Wrap code in backticks.

Moderated before publishing. Email never shown.
Functions
CDR() ABS() AES_DECRYPT() AES_ENCRYPT() AGC() AGENT() AMI_CLIENT() ARRAY() AST_CONFIG() AST_SORCERY() BASE64_DECODE() BASE64_ENCODE() BASENAME() BLACKLIST() CALENDAR_BUSY() CALENDAR_EVENT() CALENDAR_QUERY() CALENDAR_QUERY_RESULT() CALENDAR_WRITE() CALLCOMPLETION() CALLERID() CALLERPRES() CDR_PROP() CHANNEL() CHANNELS() CHANNEL_EXISTS() CHECKSIPDOMAIN() CONFBRIDGE() CONFBRIDGE_CHANNELS() CONFBRIDGE_INFO() CONNECTEDLINE() CSV_QUOTE() CURL() CURLOPT() CUT() DAHDI_CHANNEL() DB() DB_DELETE() DB_EXISTS() DB_KEYCOUNT() DB_KEYS() DEC() DELETE() DENOISE() DEVICE_STATE() DIALGROUP() DIALPLAN_EXISTS() DIGIT_SUM() DIRNAME() DUNDILOOKUP() DUNDIQUERY() DUNDIRESULT() ENUMLOOKUP() ENUMQUERY() ENUMRESULT() ENV() EVAL() EVAL_EXTEN() EVAL_SUB() EXCEPTION() EXISTS() EXPORT() EXTENSION_STATE() FAXOPT() FEATURE() FEATUREMAP() FIELDNUM() FIELDQTY() FILE() FILE_COUNT_LINE() FILE_FORMAT() FILTER() FRAME_DROP() FRAME_TRACE() GEOLOC_PROFILE() GLOBAL() GLOBAL_DELETE() GLOBAL_EXISTS() GROUP() GROUP_COUNT() GROUP_LIST() GROUP_MATCH_COUNT() HANGUPCAUSE() HANGUPCAUSE_KEYS() HASH() HASHKEYS() HINT() HOLD_INTERCEPT() IAXPEER() IAXVAR() ICONV() IF() IFMODULE() IFTIME() IMPORT() INC() ISNULL() JABBER_RECEIVE() JABBER_STATUS() JITTERBUFFER() JSON_DECODE() KEYPADHASH() LEN() LISTFILTER() LOCAL() LOCAL_PEEK() LOCK() LOG_GROUP() LTRIM() MAILBOX_EXISTS() MASTER_CHANNEL() MATH() MAX() MD5() MEETME_INFO() MESSAGE() MESSAGE_DATA() MIN() MINIVMACCOUNT() MINIVMCOUNTER() MIXMONITOR() MUTEAUDIO() ODBC() ODBC_FETCH() PARK_GET_CHANNEL() PASSTHRU() PERIODIC_HOOK() PITCH_SHIFT() PJSIP_AOR() PJSIP_CONTACT() PJSIP_DIAL_CONTACTS() PJSIP_DTMF_MODE() PJSIP_ENDPOINT() PJSIP_HEADER() PJSIP_HEADERS() PJSIP_HEADER_PARAM() PJSIP_INHERITABLE_HEADER() PJSIP_MEDIA_OFFER() PJSIP_MOH_PASSTHROUGH() PJSIP_PARSE_URI() PJSIP_PARSE_URI_FROM() PJSIP_RESPONSE_HEADER() PJSIP_RESPONSE_HEADERS() PJSIP_SEND_SESSION_REFRESH() PJSIP_TRANSFER_HANDLING() POLARITY() POP() PP_EACH_EXTENSION() PP_EACH_USER() PRESENCE_STATE() PUSH() QUEUE_EXISTS() QUEUE_GET_CHANNEL() QUEUE_MEMBER() QUEUE_MEMBER_COUNT() QUEUE_MEMBER_LIST() QUEUE_MEMBER_PENALTY() QUEUE_VARIABLES() QUEUE_WAITING_COUNT() QUOTE() RAND() REALTIME() REALTIME_DESTROY() REALTIME_FIELD() REALTIME_HASH() REALTIME_STORE() RECORDING_INFO() REDIRECTING() REGEX() REPLACE() RTRIM() SAYFILES() SCRAMBLE() SET() SHA1() SHARED() SHELL() SHIFT() SIPPEER() SIP_HEADER() SIP_HEADERS() SMDI_MSG() SMDI_MSG_RETRIEVE() SORT() SPEECH() SPEECH_ENGINE() SPEECH_GRAMMAR() SPEECH_RESULTS_TYPE() SPEECH_SCORE() SPEECH_TEXT() SPRINTF() SQL_ESC() SQL_ESC_BACKSLASHES() SRVQUERY() SRVRESULT() STACK_PEEK() STAT() STIR_SHAKEN() STIR_SHAKEN_ATTESTATION() STRBETWEEN() STRFTIME() STRPTIME() STRREPLACE() SYSINFO() TALK_DETECT() TESTTIME() TIMEOUT() TOLOWER() TONE_DETECT() TOUPPER() TRIM() TRYLOCK() TXTCIDNAME() UNLOCK() UNSHIFT() URIDECODE() URIENCODE() UUID() VALID_EXTEN() VARIABLE_EXISTS() VERSION() VMCOUNT() VM_INFO() VOLUME()
Functions
CDR() ABS() AES_DECRYPT() AES_ENCRYPT() AGC() AGENT() AMI_CLIENT() ARRAY() AST_CONFIG() AST_SORCERY() BASE64_DECODE() BASE64_ENCODE() BASENAME() BLACKLIST() CALENDAR_BUSY() CALENDAR_EVENT() CALENDAR_QUERY() CALENDAR_QUERY_RESULT() CALENDAR_WRITE() CALLCOMPLETION() CALLERID() CALLERPRES() CDR_PROP() CHANNEL() CHANNELS() CHANNEL_EXISTS() CHECKSIPDOMAIN() CONFBRIDGE() CONFBRIDGE_CHANNELS() CONFBRIDGE_INFO() CONNECTEDLINE() CSV_QUOTE() CURL() CURLOPT() CUT() DAHDI_CHANNEL() DB() DB_DELETE() DB_EXISTS() DB_KEYCOUNT() DB_KEYS() DEC() DELETE() DENOISE() DEVICE_STATE() DIALGROUP() DIALPLAN_EXISTS() DIGIT_SUM() DIRNAME() DUNDILOOKUP() DUNDIQUERY() DUNDIRESULT() ENUMLOOKUP() ENUMQUERY() ENUMRESULT() ENV() EVAL() EVAL_EXTEN() EVAL_SUB() EXCEPTION() EXISTS() EXPORT() EXTENSION_STATE() FAXOPT() FEATURE() FEATUREMAP() FIELDNUM() FIELDQTY() FILE() FILE_COUNT_LINE() FILE_FORMAT() FILTER() FRAME_DROP() FRAME_TRACE() GEOLOC_PROFILE() GLOBAL() GLOBAL_DELETE() GLOBAL_EXISTS() GROUP() GROUP_COUNT() GROUP_LIST() GROUP_MATCH_COUNT() HANGUPCAUSE() HANGUPCAUSE_KEYS() HASH() HASHKEYS() HINT() HOLD_INTERCEPT() IAXPEER() IAXVAR() ICONV() IF() IFMODULE() IFTIME() IMPORT() INC() ISNULL() JABBER_RECEIVE() JABBER_STATUS() JITTERBUFFER() JSON_DECODE() KEYPADHASH() LEN() LISTFILTER() LOCAL() LOCAL_PEEK() LOCK() LOG_GROUP() LTRIM() MAILBOX_EXISTS() MASTER_CHANNEL() MATH() MAX() MD5() MEETME_INFO() MESSAGE() MESSAGE_DATA() MIN() MINIVMACCOUNT() MINIVMCOUNTER() MIXMONITOR() MUTEAUDIO() ODBC() ODBC_FETCH() PARK_GET_CHANNEL() PASSTHRU() PERIODIC_HOOK() PITCH_SHIFT() PJSIP_AOR() PJSIP_CONTACT() PJSIP_DIAL_CONTACTS() PJSIP_DTMF_MODE() PJSIP_ENDPOINT() PJSIP_HEADER() PJSIP_HEADERS() PJSIP_HEADER_PARAM() PJSIP_INHERITABLE_HEADER() PJSIP_MEDIA_OFFER() PJSIP_MOH_PASSTHROUGH() PJSIP_PARSE_URI() PJSIP_PARSE_URI_FROM() PJSIP_RESPONSE_HEADER() PJSIP_RESPONSE_HEADERS() PJSIP_SEND_SESSION_REFRESH() PJSIP_TRANSFER_HANDLING() POLARITY() POP() PP_EACH_EXTENSION() PP_EACH_USER() PRESENCE_STATE() PUSH() QUEUE_EXISTS() QUEUE_GET_CHANNEL() QUEUE_MEMBER() QUEUE_MEMBER_COUNT() QUEUE_MEMBER_LIST() QUEUE_MEMBER_PENALTY() QUEUE_VARIABLES() QUEUE_WAITING_COUNT() QUOTE() RAND() REALTIME() REALTIME_DESTROY() REALTIME_FIELD() REALTIME_HASH() REALTIME_STORE() RECORDING_INFO() REDIRECTING() REGEX() REPLACE() RTRIM() SAYFILES() SCRAMBLE() SET() SHA1() SHARED() SHELL() SHIFT() SIPPEER() SIP_HEADER() SIP_HEADERS() SMDI_MSG() SMDI_MSG_RETRIEVE() SORT() SPEECH() SPEECH_ENGINE() SPEECH_GRAMMAR() SPEECH_RESULTS_TYPE() SPEECH_SCORE() SPEECH_TEXT() SPRINTF() SQL_ESC() SQL_ESC_BACKSLASHES() SRVQUERY() SRVRESULT() STACK_PEEK() STAT() STIR_SHAKEN() STIR_SHAKEN_ATTESTATION() STRBETWEEN() STRFTIME() STRPTIME() STRREPLACE() SYSINFO() TALK_DETECT() TESTTIME() TIMEOUT() TOLOWER() TONE_DETECT() TOUPPER() TRIM() TRYLOCK() TXTCIDNAME() UNLOCK() UNSHIFT() URIDECODE() URIENCODE() UUID() VALID_EXTEN() VARIABLE_EXISTS() VERSION() VMCOUNT() VM_INFO() VOLUME()