保留 $1 中的反斜杠

1 bash

我正在尝试编写一个脚本,该脚本接受带有反斜杠的参数 ($1),并且我希望我的脚本与输入的反斜杠完全一致地回显参数 ($1)。

例如

$ ./tst \\abc\def\ghi\jkl\lmn\
\\abc\def\ghi\jkl\lmn\
Run Code Online (Sandbox Code Playgroud)

我目前的 tst 脚本是这样的;

#!/bin/bash
echo $1
Run Code Online (Sandbox Code Playgroud)

当我运行我的脚本时,它会返回;

\abcdefghijkllmn
Run Code Online (Sandbox Code Playgroud)

我希望它返回:

\\abc\def\ghi\jkl\lmn\
Run Code Online (Sandbox Code Playgroud)

正是我输入的内容。我什至尝试过,echo -E $1但这没有任何区别。

非常感谢我可以从我的脚本中实现我想要的返回输出的任何建议。

小智 5

尝试使用单引号 (') 将参数传递给您的脚本。没有它,你的 shell 在你的脚本甚至看到参数之前就会吃掉它们。

$ ./tst '\\abc\def\ghi\jkl\lmn\'
Run Code Online (Sandbox Code Playgroud)