Class: ChefDK::Command::ShellInit
- Defined in:
- lib/chef-dk/command/shell_init.rb
Constant Summary collapse
- SUPPORTED_SHELLS =
%w[ bash zsh sh ].map(&:freeze).freeze
Instance Method Summary collapse
Methods inherited from Base
#initialize, #needs_help?, #needs_version?, #run_with_default_options
Methods included from Helpers
#err, #msg, #omnibus_apps_dir, #omnibus_bin_dir, #omnibus_embedded_bin_dir, #stderr, #stdout, #system_command
Constructor Details
This class inherits a constructor from ChefDK::Command::Base
Instance Method Details
#omnibus_root ⇒ Object
49 50 51 |
# File 'lib/chef-dk/command/shell_init.rb', line 49 def omnibus_root config[:omnibus_dir] || super end |
#run(argv) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/chef-dk/command/shell_init.rb', line 53 def run(argv) # Currently we don't have any shell-specific features, so we ignore the # shell name. We'll need it if we add completion. remaining_args = (argv) shell_name = remaining_args.first if shell_name.nil? err("Please specify what shell you are using\n") err(opt_parser.to_s) return 1 elsif !SUPPORTED_SHELLS.include?(shell_name) err("Shell `#{shell_name}' is not currently supported") err("Supported shells are: #{SUPPORTED_SHELLS.join(' ')}") return 1 end env = omnibus_env.dup path = env.delete("PATH") msg("export PATH=#{path}") env.each do |var_name, value| msg("export #{var_name}=#{value}") end 0 end |