本文介绍了函数内部的评估猫的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我一直在尝试在函数内撤消表达式,如下所示:
I've been trying to evaulate an expression inside a function as follows:
eval "fn() { $(cat fn.sh); }"
其中 fn.sh 包含以下:
#!/bin/sh
echo "You provided $1."
所以当我打电话时:
fn "a phrase"`
它会显示您提供了一个短语。。但是我无法使其正常工作。
it prints "You provided a phrase.". However I cannot get it to work.
特别令人沮丧的是:
eval "$(cat fn.sh)"
效果很好!我在这里想念什么?
works perfectly! What am I missing here?
我尝试过的事情:
eval "fn() { \"\$(cat fn.sh)\"; }"
fn
# bash: #!/bin/sh
# echo "You provided $1."
# return 1: No such file or directory
eval "fn() { \$(cat fn.sh); }"
fn
# bash: #!/bin/sh: No such file or directory
和无数其他组合,其中大多数
and myriad other combinations, most of which at this point is guess work.
推荐答案
找到答案:
eval "fn() { eval \"\$(cat "fn.sh")\"; }"
这篇关于函数内部的评估猫的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!