gpt4 book ai didi

bash - emacs --eval '(ediff "$ 1""$ 2")' 如何将此行放入 shell 脚本?

转载 作者:行者123 更新时间:2023-11-29 09:16:56 24 4
gpt4 key购买 nike

我想添加以下行:

emacs --eval '(ediff "$1" "$2")'

写成一个shell脚本,这样我就不用每次都写这么长又复杂的代码了。但是,当我按原样将它放入我的 shell 脚本时,出现错误:

ediff-find-file: File `$1' does not exist or is not readable

我想这里存在某种 " 转义问题,我需要在这一行中添加一些 \。我到底需要修复什么?

最佳答案

这是正常的,你的字符串用单引号括起来,单引号内没有展开变量。

您应该使用双引号,以便它们得到扩展,并转义字符串中现有的双引号:

emacs --eval "(ediff \"$1\" \"$2\")"

值得注意的是,在扩展变量时,只有外引号重要。即:

$ A=foo
$ echo "'$A'"

将打印'foo'。单引号包围 $A 在这里并不重要:外引号是双引号。

关于bash - emacs --eval '(ediff "$ 1""$ 2")' 如何将此行放入 shell 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8848819/

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