1
私はRubyでコマンドを実行するためにopen3を使用するのに慣れています。実行中のシェルコマンドのクリスタル言語と出力のキャプチャ
def run_cmd(cmd, args)
stdout_str = IO::Memory.new
stderr_str = IO::Memory.new
result = [] of Int32 | String
status = Process.run(cmd, args: args, output: stdout_str, error: stderr_str)
if status.success?
result = [status.exit_code, "#{stdout_str}"]
else
result = [status.exit_code, "#{stderr_str}"]
end
stdout_str.close
stderr_str.close
result
end
cmd = "ping"
hostname = "my_host"
args = ["-c 2", "#{hostname}"]
result = run_cmd(cmd, args)
puts "ping: #{hostname}: Name or service not known" if result[0] != 0
がこれを行うには良い方法があります:クリスタル-LANGで同等のlibがあるようには思えないので、私はこれを適当に組みあわせ?クリスタルランを探索しているソフトウェア開発者ではない退職したネットワークスペシャリストによると、
すべてのアドバイスを事前におねがいします。
スウィートを!どうもありがとうございました。 – lewis