{"id":17329783,"url":"https://github.com/fgimenez/vagrant-shell-commander","last_synced_at":"2025-07-11T16:15:21.328Z","repository":{"id":9272918,"uuid":"11102733","full_name":"fgimenez/vagrant-shell-commander","owner":"fgimenez","description":"Vagrant plugin for arbitrary command execution on guest(s)","archived":false,"fork":false,"pushed_at":"2014-05-25T11:04:32.000Z","size":488,"stargazers_count":23,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-14T17:44:50.193Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fgimenez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-07-01T18:01:36.000Z","updated_at":"2022-02-05T13:58:37.000Z","dependencies_parsed_at":"2022-08-20T17:40:36.544Z","dependency_job_id":null,"html_url":"https://github.com/fgimenez/vagrant-shell-commander","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/fgimenez/vagrant-shell-commander","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgimenez%2Fvagrant-shell-commander","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgimenez%2Fvagrant-shell-commander/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgimenez%2Fvagrant-shell-commander/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgimenez%2Fvagrant-shell-commander/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fgimenez","download_url":"https://codeload.github.com/fgimenez/vagrant-shell-commander/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgimenez%2Fvagrant-shell-commander/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264851119,"owners_count":23673234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T14:49:26.683Z","updated_at":"2025-07-11T16:15:21.290Z","avatar_url":"https://github.com/fgimenez.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/fgimenez/vagrant-shell-commander.png)](https://travis-ci.org/fgimenez/vagrant-shell-commander)\n[![Code Climate](https://codeclimate.com/github/fgimenez/vagrant-shell-commander.png)](https://codeclimate.com/github/fgimenez/vagrant-shell-commander)\n\n# Vagrant::Shell::Commander\n\nVagrant plugin for running arbitrary shell commands on guest(s). Executes the given command on all the machines of multinode environments, or just in one of them. It also gives the option to specify a working directory and a user by command line.\n\nIt allows you to hook into the boot process, specifying a command to be run once the machine has finished the complete boot process. This can be handy for running init scripts which depends on files located in shared folders, for example.\n\n\n## Installation\n\nGiven you have Vagrant 1.1+ installed, as usual with vagrant plugins:\n\n    $ vagrant plugin install vagrant-shell-commander\n    \n\n## Usage\n\nThe command line utility is very similar to the ```vagrant ssh -c``` builtin command, but with multinode support and additional options. To execute a command on all the machines:\n\n    $ vagrant sh -c free\n\nRestrict the machine to run:\n\n    $ vagrant sh -c free machine1\n\nSpecify the working directory (remember to quote multiword commands):\n\n    $ vagrant sh -c 'ls -al' -d /srv/www\n\nExecute as specific user:\n\n    $ vagrant sh -c 'cap production deploy' -u 'deployer'\n\nGet help:\n\n    $ vagrant sh -h\n\nTo execute a command once the machine(s) has booted, add this configuration option to the Vagrantfile:\n\n```ruby\nVagrant.configure(\"2\") do |config|\n  # other...\n\n  config.sh.after_share_folders = \"sudo /etc/init.d/myapp start\"\n\nend\n```\n\nThis can be handy if, for example, you want an application to start on boot and the application's code is in a synced folder.\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Add and implement your specs\n4. Commit your changes (`git commit -am 'Add some feature'`)\n5. Push to the branch (`git push origin my-new-feature`)\n6. Create new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffgimenez%2Fvagrant-shell-commander","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffgimenez%2Fvagrant-shell-commander","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffgimenez%2Fvagrant-shell-commander/lists"}