所以我有一个名为myCMD的bash脚本,它以function()的形式将参数字符串包含进来
但是,当我进入命令行时:

myCMD function()

它会抱怨-bash: syntax error near unexpected token '('
当我这样做的时候
不过,我不想每次使用此命令时都用引号将参数括起来
有没有一种方法可以配置终端/我的脚本,使您只要输入myCMD "function()"就可以将myCMD function()视为字符串,并且即使没有引号也不会相应地抱怨?

最佳答案

在bash中,“function”是一个保留词,所以要小心。
https://www.gnu.org/software/bash/manual/html_node/Reserved-Word-Index.html
为什么不更改myCMD脚本来执行您想要的操作?
也可以使用read命令包装myCMD

#!/bin/bash
read line
myCMD "$line"

用法要求调用包装器,然后输入字符串:
> myCMDWrapper
function()
myCMD was invoked with function()

09-05 07:21