As already mentioned in comment, verbatim or its short form \verb is a different beast altogether. If you must pass verbatim stuff as arguments, you could consider a fancyvrb work-around.
Using fancyvrb you can save and restore your verbatim commands in the following way:
\usepackage{fancyvrb}% http://ctan.org/pkg/fancyvrb
\DefineShortVerb{\#}% # denotes verbatim opening/closing character
\SaveVerb{VerbA}#(echo 5+4 | bc)#
\SaveVerb{VerbB}#$((5+4))#
This stores (echo 5+4 | bc) as-is in VerbA, and $((5+4)) in VerbB, which can be used (restored) later by means of \UseVerb{VerbA} and \UseVerb{VerbB} respectively. Here is a minimal working example:

\documentclass{article}
\usepackage{fancyvrb}
\newcommand\dd[2]{\item[\texttt{#1}] #2}
\begin{document}
\DefineShortVerb{\#}% # denotes verbatim opening/closing character
\SaveVerb{VerbA}#(echo 5+4 | bc)#
\SaveVerb{VerbB}#$((5+4))#
\begin{description}
\dd{bc}{text \UseVerb{VerbA} text \UseVerb{VerbB} text}
\end{description}
\end{document}
Edit: A similar work-around exist using the verbdef package. It provides \verbdef{<cmd>}{<verb>} that defines \<cmd> with verbatim <verb> content. The following MWE produces the same output as above:
\documentclass{article}
\usepackage{verbdef}
\newcommand\dd[2]{\item[\texttt{#1}] #2}
\begin{document}
\verbdef\VerbA{(echo 5+4 | bc)}
\verbdef\VerbB{$((5+4))}
\begin{description}
\dd{bc}{text \VerbA\ text \VerbB\ text}
\end{description}
\end{document}
\verbdoes its thing. Therefore#is still the normal macro argument character which can't be used on its own here. – Martin Scharrer Oct 30 '11 at 12:44\ddwith one argument, that is,\newcommand{\dd}[1]{\item[\texttt{#1}]}; then\dd{bc} text \verb#$(echo 5+4 | bc)# text \verb#$((5+4))# textwill work as you wish. – egreg Oct 30 '11 at 13:36\verb) can be replaced with\texttt. – user202729 Dec 25 '21 at 09:47