A summary of data about the Ruby ecosystem.

https://github.com/chef/mixlib-shellout

mixin library for subprocess management, output collection
https://github.com/chef/mixlib-shellout

Keywords from Contributors

chef configuration-management discovery ohai cfgmgt deployment rubygems rack background-jobs sidekiq

Last synced: about 17 hours ago
JSON representation

Repository metadata

mixin library for subprocess management, output collection

README.md

Mixlib::ShellOut

Build Status Gem Version

Provides a simplified interface to shelling out while still collecting both standard out and standard error and providing full control over environment, working directory, uid, gid, etc.

Example

Simple Shellout

Invoke find(1) to search for .rb files:

  require 'mixlib/shellout'
  find = Mixlib::ShellOut.new("find . -name '*.rb'")
  find.run_command

If all went well, the results are on stdout

  puts find.stdout

find(1) prints diagnostic info to STDERR:

  puts "error messages" + find.stderr

Raise an exception if it didn't exit with 0

  find.error!

Advanced Shellout

In addition to the command to run there are other options that can be set to change the shellout behavior. The complete list of options can be found here: https://github.com/chef/mixlib-shellout/blob/master/lib/mixlib/shellout.rb

Run a command as the www user with no extra ENV settings from /tmp with a 1s timeout

  cmd = Mixlib::ShellOut.new("apachectl", "start", :user => 'www', :environment => nil, :cwd => '/tmp', :timeout => 1)
  cmd.run_command # etc.

STDIN Example

Invoke crontab to edit user cron:

  # :input only supports simple strings
  crontab_lines = [ "* * * * * /bin/true", "* * * * * touch /tmp/here" ]
  crontab = Mixlib::ShellOut.new("crontab -l -u #{@new_resource.user}", :input => crontab_lines.join("\n"))
  crontab.run_command

Windows Impersonation Example

Invoke "whoami.exe" to demonstrate running a command as another user:

  whoami = Mixlib::ShellOut.new("whoami.exe", :user => "username", :domain => "DOMAIN", :password => "password")
  whoami.run_command

Invoke "whoami.exe" with elevated privileges:

  whoami = Mixlib::ShellOut.new("whoami.exe", :user => "username", :domain => "DOMAIN", :password => "password", :elevated => true)
  whoami.run_command

NOTE: The user 'admin' must have the 'Log on as a batch job' permission and the user chef is running as must have the 'Replace a process level token' and 'Adjust Memory Quotas for a process' permissions.

Platform Support

Mixlib::ShellOut does a standard fork/exec on Unix, and uses the Win32 API on Windows. There is not currently support for JRuby.

See Also

Contributing

For information on contributing to this project see https://github.com/chef/chef/blob/master/CONTRIBUTING.md

License

  • Copyright:: Copyright (c) 2011-2016 Chef Software, Inc.
  • License:: Apache License, Version 2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 578
Total Committers: 66
Avg Commits per committer: 8.758
Development Distribution Score (DDS): 0.849

Commits in past year: 17
Committers in past year: 7
Avg Commits per committer in past year: 2.429
Development Distribution Score (DDS) in past year: 0.529

Name Email Commits
Chef Expeditor c****i@c****o 87
Ho-Sheng Hsiao h****o@g****m 81
Tim Smith t****h@c****o 77
Lamont Granquist l****t@s****g 45
Daniel DeLeo d****n@o****m 42
sersut s****r@o****m 21
Matt Wrock m****t@m****m 19
Moser, Kevin K****r@n****m 18
Jay Mundrawala j****a@g****m 15
rishichawda r****a 14
Thomas Heinen t****n@g****m 11
Bryan McLellan b****m@l****g 10
Seth Chisamore s****o@o****m 9
Imanol-Mikel Barba Sabariego i****l@i****t 9
Kartik Null Cating-Subramanian k****n@c****o 7
kaustubh-d k****h@c****m 7
adamedx a****d@o****m 7
Kapil Chouhan k****n@m****m 6
John McCrae j****e@p****m 5
Thom May t****m@c****o 5
dcrosby d****y@m****m 5
Chef Expeditor e****r@c****o 5
Ryan Cragun me@r****c 4
John McCrae j****e@c****o 4
Akshay Karle a****e@g****m 3
Steven Murawski s****i@g****m 3
Nitz n****z@g****m 3
Brian Warsing b****g@v****m 2
Julian C. Dunn j****n@g****m 2
Julian C. Dunn j****n@o****m 2
and 36 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 13 days ago

Total issues: 27
Total pull requests: 135
Average time to close issues: about 1 year
Average time to close pull requests: about 2 months
Total issue authors: 21
Total pull request authors: 33
Average comments per issue: 1.3
Average comments per pull request: 1.2
Merged pull request: 107
Bot issues: 4
Bot pull requests: 0

Past year issues: 1
Past year pull requests: 16
Past year average time to close issues: N/A
Past year average time to close pull requests: 24 days
Past year issue authors: 1
Past year pull request authors: 6
Past year average comments per issue: 0.0
Past year average comments per pull request: 1.19
Past year merged pull request: 13
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/chef/mixlib-shellout

Top Issue Authors

  • dependabot-preview[bot] (4)
  • coderanger (3)
  • lamont-granquist (2)
  • Ankitr19 (1)
  • gshively11 (1)
  • skylerto (1)
  • dg42xyz (1)
  • zealws (1)
  • jaymzh (1)
  • pbobov (1)
  • vanessazou (1)
  • Doltair (1)
  • taqtiqa-mark (1)
  • clintoncwolfe (1)
  • yanivmn (1)

Top Pull Request Authors

  • tas50 (33)
  • lamont-granquist (17)
  • dafyddcrosby (13)
  • rishichawda (11)
  • thheinen (9)
  • johnmccrae (8)
  • jaymzh (4)
  • sean-sype-simmons (3)
  • kapilchouhan99 (3)
  • cgunasree08 (3)
  • HeyItsGilbert (2)
  • clintoncwolfe (2)
  • poorndm (2)
  • tpowell-progress (2)
  • skeshari12 (2)

Top Issue Labels

  • Type: Bug (10)
  • Status: Untriaged (6)
  • Triage: Feature Request (3)
  • Type: Enhancement (2)
  • Platform: Windows (1)
  • Type: Tech Debt (1)

Top Pull Request Labels

  • Expeditor: Bump Version Minor (9)
  • Expeditor: Skip All (8)
  • Status: Waiting on Contributor (5)
  • oss-standards (5)
  • Expeditor: Skip Changelog (4)
  • Type: Bug (2)
  • Platform: Windows (2)
  • Expeditor: Skip Version Bump (1)
  • Aspect: Testing (1)
  • ai-assisted (1)
  • Aspect: Documentation (1)
  • Triage: Needs Information (1)

Package metadata

gem.coop: mixlib-shellout

Run external commands on Unix or Windows

  • Homepage: https://github.com/chef/mixlib-shellout
  • Documentation: http://www.rubydoc.info/gems/mixlib-shellout/
  • Licenses: Apache-2.0
  • Latest release: 3.4.10 (published 4 months ago)
  • Last Synced: 2026-05-22T05:27:56.738Z (1 day ago)
  • Versions: 116
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 91,160,172 Total
  • Docker Downloads: 463,182,580
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 0.131%
    • Docker downloads count: 0.23%
    • Downloads: 0.296%
  • Maintainers (5)
rubygems.org: mixlib-shellout

Run external commands on Unix or Windows

  • Homepage: https://github.com/chef/mixlib-shellout
  • Documentation: http://www.rubydoc.info/gems/mixlib-shellout/
  • Licenses: Apache-2.0
  • Latest release: 3.4.10 (published 4 months ago)
  • Last Synced: 2026-05-22T09:30:47.444Z (1 day ago)
  • Versions: 116
  • Dependent Packages: 148
  • Dependent Repositories: 9,837
  • Downloads: 91,164,082 Total
  • Docker Downloads: 463,182,580
  • Rankings:
    • Dependent packages count: 0.232%
    • Docker downloads count: 0.283%
    • Dependent repos count: 0.336%
    • Downloads: 0.344%
    • Average: 1.512%
    • Forks count: 3.048%
    • Stargazers count: 4.827%
  • Maintainers (5)
proxy.golang.org: github.com/chef/mixlib-shellout

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/chef/mixlib-shellout#section-documentation
  • Licenses: apache-2.0
  • Latest release: v3.4.10+incompatible (published 5 months ago)
  • Last Synced: 2026-05-22T05:27:56.097Z (1 day ago)
  • Versions: 66
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Forks count: 2.935%
    • Stargazers count: 4.193%
    • Average: 6.877%
    • Dependent packages count: 9.576%
    • Dependent repos count: 10.802%
ubuntu-20.04: ruby-mixlib-shellout

  • Homepage: https://github.com/chef/mixlib-shellout
  • Licenses:
  • Latest release: 3.0.9-2 (published 3 months ago)
  • Last Synced: 2026-03-13T14:23:59.812Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-23.04: ruby-mixlib-shellout

  • Homepage: https://github.com/chef/mixlib-shellout
  • Licenses:
  • Latest release: 3.2.5-2 (published 3 months ago)
  • Last Synced: 2026-03-11T18:35:27.175Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-23.10: ruby-mixlib-shellout

  • Homepage: https://github.com/chef/mixlib-shellout
  • Licenses:
  • Latest release: 3.2.5-2 (published 3 months ago)
  • Last Synced: 2026-03-14T03:15:06.376Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-24.10: ruby-mixlib-shellout

  • Homepage: https://github.com/chef/mixlib-shellout
  • Licenses:
  • Latest release: 3.2.5-2 (published 3 months ago)
  • Last Synced: 2026-03-09T17:07:39.433Z (3 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-11: ruby-mixlib-shellout

  • Homepage: https://github.com/chef/mixlib-shellout
  • Documentation: https://packages.debian.org/bullseye/ruby-mixlib-shellout
  • Licenses:
  • Latest release: 3.0.9-2 (published 3 months ago)
  • Last Synced: 2026-03-14T07:16:30.196Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-22.04: ruby-mixlib-shellout

  • Homepage: https://github.com/chef/mixlib-shellout
  • Licenses:
  • Latest release: 3.2.5-2 (published 3 months ago)
  • Last Synced: 2026-03-13T22:39:02.653Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-12: ruby-mixlib-shellout

  • Homepage: https://github.com/chef/mixlib-shellout
  • Documentation: https://packages.debian.org/bookworm/ruby-mixlib-shellout
  • Licenses:
  • Latest release: 3.2.5-2 (published 3 months ago)
  • Last Synced: 2026-03-13T23:45:10.525Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-24.04: ruby-mixlib-shellout

  • Homepage: https://github.com/chef/mixlib-shellout
  • Licenses:
  • Latest release: 3.2.5-2 (published 4 months ago)
  • Last Synced: 2026-03-06T16:49:19.223Z (3 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-13: ruby-mixlib-shellout

  • Homepage: https://github.com/chef/mixlib-shellout
  • Documentation: https://packages.debian.org/trixie/ruby-mixlib-shellout
  • Licenses:
  • Latest release: 3.2.5-2 (published 3 months ago)
  • Last Synced: 2026-03-14T18:10:35.041Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%

Dependencies

Gemfile rubygems
  • chefstyle = 1.6.2 development
  • pry >= 0 development
  • pry-byebug >= 0 development
  • rake >= 0 development
  • rb-readline >= 0 development
  • rspec ~> 3.0 development
  • chef-utils < 16.7.23
  • ffi-win32-extensions ~> 1.0.4
  • win32-process ~> 0.9
  • wmi-lite ~> 1.0.7
mixlib-shellout-universal-mingw-ucrt.gemspec rubygems
  • ffi-win32-extensions ~> 1.0.3
  • win32-process ~> 0.9
  • wmi-lite ~> 1.0
mixlib-shellout-universal-mingw32.gemspec rubygems
  • ffi-win32-extensions ~> 1.0.3
  • win32-process ~> 0.9
  • wmi-lite ~> 1.0
mixlib-shellout.gemspec rubygems
  • chef-utils >= 0

Score: 29.992842538718754