簡體   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