Kev*_*Kev 2 bash escape-characters
如果我做:
ssh-keygen -N password123\$ -f bobskeys
Run Code Online (Sandbox Code Playgroud)
是\
转义$
字符还是成为密码的一部分?
或者更确切地说,bash
在ssh-keygen
获取密码值之前会进行任何转义吗?
我需要逃避这个$
角色吗?
我正在运行 Centos 5.5 x64 和 bash 3.2.25
当你输入:
ssh-keygen -N password123\$ -f bobskeys
Run Code Online (Sandbox Code Playgroud)
shell 将使用参数-N
password123$
-f
和执行 ssh-keygen bobskeys
。
如果要password123\$
作为参数传递,则需要单引号:
ssh-keygen -N 'password123\$' -f bobskeys
Run Code Online (Sandbox Code Playgroud)
或反斜杠反斜杠:
ssh-keygen -N password123\\$ -f bobskeys
Run Code Online (Sandbox Code Playgroud)
否则ssh-keygen
进程将看不到反斜杠。