bash,在 printf 语句中获取 ' 字符
bash, getting ' characters inside printf statements
我发现很难在别名中嵌套 printf
语句。我有很多我想使用的帮助主题(只是一些有用的提示集合,当我忘记语法时)。我发现 printf
需要将 \
转义为 \
,将 %
转义为 %%
。但是,我的问题更多地与 '
和 "
有关
alias helpx='printf "A note about 'vim'.\n"'
=> A note about vim. # The ' are ignored.
alias helpx="printf 'A note about 'vim'.\n'"
=> A note about vim. # The ' are ignored.
alias helpx='printf "A note about \'vim\'.\n"' # Invalid syntax
alias helpx='printf "A note about \"vim\".\n"'
=> A note about "vim". # Some progress, I can now get " here
如何在上面的笔记中获取 '
个字符?
在 unix 终端上使用 printf
-command 时,您可以执行以下操作来转义字符:
printf "A note about \'vim\'.\n"
由于您有兴趣将此命令分配给变量(您的别名“helpx”),您至少可以通过两种不同的方式来完成:
如果您对 ASCI 标点和符号有亲和力,那么无需过多处理字符转义,然后使用上述解决方案
alias helpx='printf "A note about \u0027vim\u0027.\u000A"'
如果您不熟悉 ASCI 标点符号和符号
使用@tshiono 提出的答案
希望这对以后处理此类问题也有帮助。
你要不要试试:
alias helpx='printf "A note about '\''vim'\''.\n"'
或:
alias helpx="printf \"A note about 'vim'.\n\""
我发现很难在别名中嵌套 printf
语句。我有很多我想使用的帮助主题(只是一些有用的提示集合,当我忘记语法时)。我发现 printf
需要将 \
转义为 \
,将 %
转义为 %%
。但是,我的问题更多地与 '
和 "
alias helpx='printf "A note about 'vim'.\n"'
=> A note about vim. # The ' are ignored.
alias helpx="printf 'A note about 'vim'.\n'"
=> A note about vim. # The ' are ignored.
alias helpx='printf "A note about \'vim\'.\n"' # Invalid syntax
alias helpx='printf "A note about \"vim\".\n"'
=> A note about "vim". # Some progress, I can now get " here
如何在上面的笔记中获取 '
个字符?
在 unix 终端上使用 printf
-command 时,您可以执行以下操作来转义字符:
printf "A note about \'vim\'.\n"
由于您有兴趣将此命令分配给变量(您的别名“helpx”),您至少可以通过两种不同的方式来完成:
如果您对 ASCI 标点和符号有亲和力,那么无需过多处理字符转义,然后使用上述解决方案
alias helpx='printf "A note about \u0027vim\u0027.\u000A"'
如果您不熟悉 ASCI 标点符号和符号
使用@tshiono 提出的答案
希望这对以后处理此类问题也有帮助。
你要不要试试:
alias helpx='printf "A note about '\''vim'\''.\n"'
或:
alias helpx="printf \"A note about 'vim'.\n\""