标签: escaping

转义 Skype 消息以使用特殊字符组合

在技​​术环境中,复制/粘贴配置文件、URL、代码示例等以通知其他聊天参与者一些事情是很常见的。在这种情况下,可以使用各种字符组合,即使是 Skype 识别为表情符号的组合。

带有 URL 的示例:

http://your.host/app/search?pattern=mine:*
Run Code Online (Sandbox Code Playgroud)

:*导致Skype的表现出接吻表情,这显然是完全没有意义在这里。

我该如何逃避:*避免这种情况?请注意,我不想关闭表情符号或删除表情符号文件夹,因为这只会让我看到明文,但任何其他聊天伙伴仍然可以看到表情符号。无论他/她如何配置 Skype,每个人都应该完全按照我的意图看到纯文本。

skype escaping

73
推荐指数
3
解决办法
5万
查看次数

如何逃脱“!” 和 docker 环境变量中的“&”

我有一个 docker 容器,我想运行它并把它交给一些密码。一个带有感叹号!,另一个带有&符号&。所以我想运行这个:

docker run -i -t --rm \
-e "LDAP_FILTER=(&(objectCategory=person)(objectClass=user)" \
-e "LDAP_PASS=Secret!Password" \
user-prefix/container-name
Run Code Online (Sandbox Code Playgroud)

那行不通。&被替换为{LDAP_FILTER}并被!截断。我很确定我必须逃避这些。但是\!\&没有成功。

shell escape-characters escaping docker

21
推荐指数
1
解决办法
3万
查看次数

为什么`echo -e "\\\SOME_TEXT"` 只显示一个反斜杠?

有人能解释一下 Linux shell 中字符转义的幕后情况吗?我尝试了以下方法并在谷歌上搜索了很多,但没有成功理解正在发生的事情(以及如何发生):

root@sv01:~# echo -e "\ Hello!"
\ Hello!
root@sv01:~# echo -e "\\ Hello!"
\ Hello!
root@sv01:~# echo -e "\\\ Hello!"
\ Hello!
root@sv01:~# echo -e "\\\\ Hello!"
\ Hello!
root@sv01:~# echo -e "\\\\\ Hello!"
\\ Hello!
root@sv01:~# echo -e "\\\\\\ Hello!"
\\ Hello!
root@sv01:~# echo -e "\\\\\\\ Hello!"
\\ Hello!
root@sv01:~# echo -e "\\\\\\\\ Hello!"
\\ Hello!
root@sv01:~# echo -e "\\\\\\\\\ Hello!"
\\\ Hello!
root@sv01:~# echo -e "\n Hello!"

 Hello!
root@sv01:~# echo -e "\\n Hello!"

 Hello!
root@sv01:~# …
Run Code Online (Sandbox Code Playgroud)

linux bash escape-characters echo escaping

21
推荐指数
1
解决办法
1万
查看次数

azerty 键盘上的“^]”字符在哪里?

我目前正在使用 telnet,我需要做一个转义字符 (SMTP),这个字符在 azerty 键盘上的什么位置?(Linux Ubuntu)。

telnet escaping

12
推荐指数
2
解决办法
2万
查看次数

如何在makefile中转义“$@”?

test:
    @echo "#!/bin/bash\njava -classpath \"$(CLASSPATH)\" com.atm.ATM \"$@\"" > test
    @chmod a+x test
Run Code Online (Sandbox Code Playgroud)

我试图转义“$@”,以便它在“测试”脚本中以“$@”字面出现(将在 bash 脚本上调用的参数传递给 java 程序)。

我尝试过的事情:

"$$@" -> ""
"$$@@" -> "@"
"$@@" -> "<target>@"
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

bash make makefile escape-characters escaping

10
推荐指数
1
解决办法
6675
查看次数

如何通过 VNC 将本地输入的修饰键或快捷方式传输到远程桌面?以某种方式掩盖或逃避他们?

我已连接到 xmonad 桌面,但只能使用第一个工作区。如何切换到其他工作区?

此外:如果最后一个终端关闭,我将无能为力。如何打开一个新的终端?问题是,我的本地 xmonad 会捕获击键。

通常来说,一般来说

  • 是否有一些神奇的组合键(快捷键)来规避本地吸收的按键,即逃避本地快捷键以便能够将它们发送到远程 VNC 桌面?我的意思是类似于 screen 的东西,您可以在其中按Ctrl+a a提交一个简单的Ctrl+a到 screen 的子流程。

  • 或者有没有一种方法可以启用和禁用 kbd 捕获,如虚拟机的可视界面所知?我的意思是像Ctrlvirtualbox 中的右键。

如果有任何兴趣:我将其x11vnc用作服务器,而vncviewer从tigervnc (tightvnc) 用作客户端/查看器。但如果有帮助的话,我会改变他们两个。

vnc keyboard-shortcuts xmonad vnc-viewer escaping

8
推荐指数
1
解决办法
6380
查看次数

使用 curl 上传名称中带有逗号的文件

如何上传以yes, this filename has a comma.txtcli命名的文件curl

您通常会这样做来上传文件curl

curl --progress-bar -F "fileUpload=@filename.txt"
Run Code Online (Sandbox Code Playgroud)

但是curl将逗号解释为要上传的多个文件,因此这不起作用:

curl --progress-bar -F "fileUpload=@yes, this filename has a comma.txt"
Run Code Online (Sandbox Code Playgroud)

如何转义文件名?


我已经找到了一种解决方法,即创建指向原始文件的临时符号链接并将其传递给 curl。然而问题是curl发送到服务器的文件名是符号链接的文件名,而不是原始文件。

upload curl escape-characters escaping

6
推荐指数
1
解决办法
9455
查看次数

如何在 Bash 中方便地使用单引号或转义整个命令行?

介绍

考虑这样的工具watch可以接受另一个命令(例如ls -l),如下所示:

watch ls -l
# or equivalently
watch 'ls -l'
Run Code Online (Sandbox Code Playgroud)

如果命令更复杂,那么如果当前 shell 或 get 解释诸如$variable*|;之类的内容,那么一切都与引用/转义有关。这两个命令是不同的:&&watch

watch echo "$$"
watch 'echo "$$"'
Run Code Online (Sandbox Code Playgroud)

这些也是:

watch date ; echo done
watch date \; echo done
Run Code Online (Sandbox Code Playgroud)

ssh类似,它可以接受一个或多个参数并构建一个要在服务器上运行的命令。如果本地 shell 解释等,或者远程 shell 则$variable取决于引用/转义。|

有些命令sh -c需要包含代码的单个参数,但引用/转义的需求是相似的。事实上watch(或ssh) 为sh -c或类似的命令构建了这个单一参数。


问题

我已经有了想要提供给或或类似工具的确切命令。命令是从历史记录中获取的,或者粘贴到命令行中或者键入,就像要直接执行一样;它逐字在我的命令行中。在使用类似工具之前,不应扩展或解释命令中的任何内容。如果是这样,则意味着所有扩展和解释都应该稍后定期进行。如果是这样,则意味着它应该发生在服务器上。watchsshwatchwatchssh …

bash command-line escaping

6
推荐指数
1
解决办法
3215
查看次数

grep 在新贵脚本中失败

我有一个服务的新贵配置,需要检查它启动时进程的存在。这听起来很容易,但我已经尝试了 3 个小时来解决这个问题,但我迷路了。问题似乎是一些 grep 语句导致 upstart 中的脚本退出,导致启动服务失败。但是 upstart 不记录任何内容,它只是退出脚本并消失了。

以下是触发问题的一些示例行:记录第一个回声及其 grep 的输出,记录第二个回声,但不记录其 grep 的输出。在第二个 echo upstart 之后,退出脚本并停止。问题是添加 -v 选项或其他类似使用 [[:digit:]] 之类的正则表达式类的选项。似乎我需要转义一些字符,但我根本不知道如何转义。一个简单的 -v 或类似的东西不起作用。

script
  echo grep
  ps ax | grep "postgres: wal writer process" | grep "grep"
  echo grep2
  ps ax | grep "postgres: wal writer process" | grep -v "grep"
end script
Run Code Online (Sandbox Code Playgroud)

有没有人知道我做错了什么以及如何解决问题?

script shell upstart escaping

4
推荐指数
1
解决办法
2009
查看次数