我在Org-Babel中有一个小代码块,它应该依赖于某些参数。我在awk中编写了代码,但是我没有成功使用代码中的参数。
一个小的(不工作的)例子:
#+begin_src awk :var test="value" :results output
BEGIN { print "Test is "test }
#+end_src
我的参数名为test,其值为... value。结果如下:
#+results:
: Test is
尽管:var test="value"
然而,当尝试其他语言而不是awk(例如.sh的py)时,似乎没问题:
#+begin_src python :var test="value" :results output
print "Test is %s"%test
#+end_src
#+results:
: Test is value
#+begin_src sh :var test="value" :results output
echo "Test is "$test
#+end_src
#+results:
: Test is value
我正在使用org 7.8.02。任何的想法?谢谢!
答案 0 :(得分:0)
在UNIX shell中,您有以下内容:
> VAR="value123"
> echo "Value is $VAR"
value123
使用awk你必须使用" -v"解析变量。选项。否则awk不会在awk中知道你的变量。
> awk -v VARAWK=$VAR 'BEGIN { print "Value is "VARAWK }'
Value is value123
答案 1 :(得分:0)
您的示例对当前的组织模式版本适用于我。我想这只是2014年awk org-babel实施中的错误。