gpt4 book ai didi

使用 tcsh 别名转义双引号

转载 作者:行者123 更新时间:2023-12-02 22:04:17 30 4
gpt4 key购买 nike

我正在尝试运行以下命令:

replace -x "must " A2input.txt
replace -x " a" -f -s ## A2input.txt
replace -x to -s ## -a A2input.txt
replace -x faith -f "unequivocal" A2input.txt

如果我可以将其别名为简短的名称,例如“a”、“b”、“c”、“d”等,那就太好了...

但是,其中一些参数带有引号,这会弄乱别名。有谁知道如何真正转义双引号?我已经尝试过诸如 '\"' 和\"之类的东西,但似乎没有任何效果。

我使用 tcsh 作为我的 shell。

最佳答案

以下所有内容都在 tcsh 中工作以实现各种结果:

alias t echo hello world                # you may not actually need any quotesalias u 'echo "hello world"'            # nested quotes of different typesalias v echo\ \"hello\ world\"          # escape everythingalias w echo '\;'hello'";"' world       # quote/escape problem areas onlyalias x 'echo \"hello world\"'          # single quote and escape for literal "alias y "echo "\""hello world"\"        # unquote, escaped quote, quote ("\"")alias z 'echo '\''hello world'\'        # same goes for single quotes ('\'')

要查看 shell 如何解释这些内容,请运行不带参数的 alias:

% aliast       (echo hello world)u       echo "hello world"v       echo "hello world"w       (echo \;hello";" world)x       echo \"hello world\"y       echo "hello world"z       echo 'hello world'

括号中的任何内容都在子 shell 中运行。如果您尝试设置环境变量,这会很糟糕,但除此之外大多无关紧要。

最后,以下是这些示例的实际用途:

% t; u; v; w; x; y; zhello worldhello worldhello world;hello; world"hello world"hello worldhello world

关于使用 tcsh 别名转义双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/382734/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com