2

気付いた:

Dir.chdir("/path/to/some/dir/")

適切なディレクトリに一時的に変更されます。私の質問は次のとおりです。これを永続化する方法はありますか? スクリプトを作成すると、開始時と同じディレクトリに残ります。また、バッククォートを使用してコマンドを実行しようとしましたが、すべてが新しいシェルで実行されているようです。

Ruby にはシェルのディレクトリを変更する機能がありますか?

4

2 に答える 2

1

1 つの小さな修正:

Dir.chdir("/path/to/some/dir/")

残りのスクリプト実行のためにディレクトリを変更します。コマンドのブロック版で一時的な変更が可能です。


そして、あなたの質問に答えるには: いいえ、それは不可能です。

次のスクリプトでも機能しません。

puts Dir.pwd
puts `cd ..`
puts Dir.pwd

バックティックのcd-command は新しい環境を開始するため、親のシェルはディレクトリを変更しません。

于 2013-09-23T21:41:04.973 に答える