比方说,你有一个alias
像bash 一样:
alias rxvt='urxvt'
Run Code Online (Sandbox Code Playgroud)
哪个工作正常.
然而:
alias rxvt='urxvt -fg '#111111' -bg '#111111''
Run Code Online (Sandbox Code Playgroud)
不会起作用,也不会:
alias rxvt='urxvt -fg \'#111111\' -bg \'#111111\''
Run Code Online (Sandbox Code Playgroud)
那么,一旦转义了引号,你最终如何在字符串中匹配开头和结尾的引号?
alias rxvt='urxvt -fg'\''#111111'\'' -bg '\''#111111'\''
Run Code Online (Sandbox Code Playgroud)
看起来很笨拙虽然如果你允许这样连接它们就会代表相同的字符串.
我有一个 Makefile,需要使用 awk 从文本文件 `someText.txt 中提取一些信息。这是一个例子:
在控制台中手动对我的文本文件执行 awk 效果很好:
$ cat someText.txt | awk '/Total number:/ {print $NF}'
$ 42
Run Code Online (Sandbox Code Playgroud)
但在我的 makefile 中使用它不起作用:
MYVAR=$(shell cat someText.txt | awk '/Total number:/ {print $NF}')
all:
@echo Count: $(MYVAR)
Run Code Online (Sandbox Code Playgroud)
输出是:Count:
但我建议输出是Count: 42