首先,对于初学者的问题,我很抱歉,我对 shell 脚本还很陌生。我正在创建一个简单的脚本来管理我的 LaTeX 文档图表。长话短说,我想复制
\begin{figure}
\centering
\inkfig{$name}
\end{figure}
到剪贴板。因此我想到使用这个命令
echo -e "\begin{figure}\n\centering\n\inkfig{$name}\n\end{figure}" | xclip -selection clipboard
但这会将\b
and解释\e
为转义。相反,如果我echo
不带-e
标志运行,则\n
不会解释。所以我需要一种方法来解释\n
但不是\b
and\e
提前致谢!
答案1
一个简单的答案是使用真正的换行符:
echo '\begin{figure}
\centering...' | ...
\n
但是如果你在变量中包含字符串,那么你可以使用 bash 将其替换为真正的换行符:
var='\begin{figure}\n\centering...'
newvar="${var//\\n/
}"
echo "$newvar" | ...
寻找模式替换在 bash 手册页中。