繁体   English   中英

如何在Ruby中与系统一起运行.zshrc中定义的函数?

[英]How to run functions defined in .zshrc with system in Ruby?

这是我的.zshrc

hello() {
    echo "hello"
}

和我的test.rb

system "hello"

而且不起作用。 如何使其运作?

您将无法从Ruby调用shell函数。 system调用将产生一个非交互式子进程Zsh。

注意事项:

  1. .zshrc仅与交互式外壳一起使用。
  2. 您不能从非Shell脚本调用Shell函数。 即使在脚本中,也必须首先将它们作为source

您可以将函数放入一个小的脚本中并调用它:

% <hello
#! /usr/bin/env zsh
hello() { echo "hello" }
hello
% chmod +x hello

然后在test.rb

system "./hello"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM