One-liner to cd and run bundle (rails)

I’m trying to run a rails console with one line. Can’t figure out how:

Running this:
fly ssh console -C "cd /app/ && bundle ex app/bin/rails console"
I get
exec: "cd": executable file not found in $PATH

Running this directly from the docs:
fly ssh console -C "app/bin/rails console"
I get

Traceback (most recent call last):
        55: from app/bin/rails:4:in `<main>'
        54: from /app/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        53: from /app/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        52: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/commands.rb:18:in `<main>'
        51: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/command.rb:48:in `invoke'
        50: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/command/base.rb:87:in `perform'
        49: from /app/vendor/bundle/ruby/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
        48: from /app/vendor/bundle/ruby/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
        47: from /app/vendor/bundle/ruby/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
        46: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/commands/console/console_command.rb:101:in `perform'
        45: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/command/actions.rb:15:in `require_application_and_environment!'
        44: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/command/actions.rb:28:in `require_environment!'
        43: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/application.rb:348:in `require_environment!'
        42: from /app/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.5.3/lib/zeitwerk/kernel.rb:35:in `require'
        41: from /app/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        40: from /app/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        39: from /app/config/environment.rb:5:in `<main>'
        38: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/application.rb:372:in `initialize!'
        37: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/initializable.rb:60:in `run_initializers'
        36: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/tsort.rb:205:in `tsort_each'
        35: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/tsort.rb:226:in `tsort_each'
        34: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/tsort.rb:347:in `each_strongly_connected_component'
        33: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/tsort.rb:347:in `call'
        32: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/tsort.rb:347:in `each'
        31: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/tsort.rb:349:in `block in each_strongly_connected_component'
        30: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/tsort.rb:415:in `each_strongly_connected_component_from'
        29: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/tsort.rb:415:in `call'
        28: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/initializable.rb:50:in `tsort_each_child'
        27: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/initializable.rb:50:in `each'
        26: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
        25: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/tsort.rb:431:in `each_strongly_connected_component_from'
        24: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
        23: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
        22: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/tsort.rb:228:in `block in tsort_each'
        21: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/initializable.rb:61:in `block in run_initializers'
        20: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/initializable.rb:32:in `run'
        19: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/initializable.rb:32:in `instance_exec'
        18: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/engine.rb:561:in `block in <class:Engine>'
        17: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/engine.rb:561:in `each'
        16: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/engine.rb:562:in `block (2 levels) in <class:Engine>'
        15: from /app/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.5.3/lib/zeitwerk/kernel.rb:35:in `require'
        14: from /app/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        13: from /app/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        12: from /app/config/environments/production.rb:3:in `<main>'
        11: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/railtie.rb:251:in `configure'
        10: from /app/vendor/bundle/ruby/2.7.0/gems/railties-7.0.1/lib/rails/railtie.rb:251:in `instance_eval'
         9: from /app/config/environments/production.rb:80:in `block in <main>'
         8: from /app/config/environments/production.rb:80:in `new'
         7: from /app/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.1/lib/active_support/logger.rb:81:in `initialize'
         6: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/logger.rb:389:in `initialize'
         5: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/logger.rb:389:in `new'
         4: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/logger/log_device.rb:18:in `initialize'
         3: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/logger/log_device.rb:86:in `set_dev'
         2: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/logger/log_device.rb:95:in `open_logfile'
         1: from /usr/lib/fullstaq-ruby/versions/2.7.1-jemalloc/lib/ruby/2.7.0/logger/log_device.rb:95:in% 

Please note the error log just ends. I can’t see where the actual error is because there appears to be no way of looking at all the logs.

Anyone know what’s up with these two issues?

I think that first line is an issue because we don’t send a command through bash, we just execute it directly.

Try running fly ssh console and then executing cd /app/ and the rails console command directly. That should give you the whole stderr.

Thanks @kurt . I was able to figure this out because of your advice.