【问题标题】:how to eval csh shell variable如何评估 csh shell 变量
【发布时间】:2013-12-24 06:25:05
【问题描述】:
#!/bin/csh
set passFail_file = "name"

set numErrs = `/bin/grep -c ERROR $passFail_file`
echo "numErrs is $numErrs"        # displays numErrs is 0, which isn't always correct
set dirLocale = `/bin/sed q $passFail_file`   #capture line 1 in file, which is nonBlank
echo "dirLocale is $dirLocale"   # displays: dirLocale is

当我运行上述脚本时,我无法分配 dirLocale。 csh中是否有等效的eval?语法是什么?我想我错过了反引号和操作顺序的组合。

【问题讨论】:

  • #!/bin/csh 应该是#!/bin/csh -f。是的,csh 有eval。请注意,在某些 csh 版本中存在一个已知错误,至少在 Ubuntu 上是这样。见bugs.launchpad.net/ubuntu/+source/csh/+bug/1739505。有了这个错误,eval 总是(我认为)死于分段错误。此错误不会影响 tcsh。
  • 该错误是由 Debian 特定的 csh 补丁 (bsd-csh) 引起的,因此它可能会在任何基于 Debian 的系统上与 csh 一起出现。 (/bin/csh 可以是 bsd-csh 或 tcsh;tcsh 不受影响。)

标签: eval quotes csh


【解决方案1】:

系统动作异常。一切都很好,使用上面的语法。问题关闭。谢谢。

【讨论】:

  • 来自未来的问候。问题没有结束。
猜你喜欢
  • 2011-03-30
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 2019-08-28
  • 2011-07-04
  • 2015-10-01
  • 1970-01-01
相关资源
最近更新 更多