名前を入力してディレクトリに移動しますか?


20

たとえば、ディレクトリ「blob」が存在し、「blob [return]」と入力すると、システムcdはblobディレクトリに移動します。

Linuxの(Ubuntuの)で、私は追加することができshopt -s autocd、私に.bashrcファイルが、OS X上で、これはエラーを与えます:-bash: shopt: autocd: invalid shell option name

回答:


25

autocdbash 4.0で追加されました。Homebrewでbashの新しいバージョンをインストールしてから、デフォルトのログインシェルをchsh次のように変更できます。

brew install bash;echo /usr/local/bin/bash|sudo tee -a /etc/shells;chsh -s /usr/local/bin/bash

新しいログインシェル(またはターミナルまたはiTerm 2のデフォルトではタブ)を開いた後、のecho $BASH_VERSIONようなものを印刷する必要があります4.2.45(2)-release

TerminalおよびiTerm 2はデフォルトでログインシェルとして新しいシェルを開くため、bashは読み取ります~/.bash_profileが、読み取りはできません~/.bashrc~/.bashrcからソースを取得していない場合は~/.bash_profile、の代わりにを追加shopt -s autocd~/.bash_profileます~/.bashrc


1
素晴らしい答え。Bash 4はMacPortsでも利用可能です:sudo port install bashステップ1へのサブビングも 同様に機能します。
ephsmith

上記を行いました。私はbashの4.2.29になってしまったと私はには/ etc /シェル変更を加えていないとCSSHをしましたが、何の喜び
マイケル・デュラント

@MichaelDurrant答えを編集しました。bash -version$ PATHの最初のバージョンになります。試しましたecho $BASH_VERSIONか?
Lri

/ usr / local / bin / bashコマンドを直接実行すると動作します-v4.2を取得しますが、新しいウィンドウのデフォルトシェルを作成するにはどうすればよいですか?
マイケルデュラント

1
@MichaelDurrantターミナルアプリケーションは、環境設定/usr/bin/loginなどlogin -fp $USERで開くように設定されていますか?
Lri

2

の出力は、shopt -pここでいくらか助けになります。設定可能なオプションのリストを出力します。悲しいことに、ライオンでautocdは、それらの1つではありません(以下の抜粋を参照)。

上記の編集Lauriの答えには、シェルを更新して含めるためのソリューションがありますautocd

$ shopt -p
shopt -u cdable_vars
shopt -u cdspell
shopt -u checkhash
shopt -s checkwinsize
shopt -s cmdhist
shopt -u compat31
shopt -u dotglob
shopt -u execfail
shopt -s expand_aliases
shopt -u extdebug
shopt -u extglob
shopt -s extquote
shopt -u failglob
shopt -s force_fignore
shopt -u gnu_errfmt
shopt -u histappend
shopt -u histreedit
shopt -u histverify
shopt -s hostcomplete
shopt -u huponexit
shopt -s interactive_comments
shopt -u lithist
shopt -s login_shell
shopt -u mailwarn
shopt -u no_empty_cmd_completion
shopt -u nocaseglob
shopt -u nocasematch
shopt -u nullglob
shopt -s progcomp
shopt -s promptvars
shopt -u restricted_shell
shopt -u shift_verbose
shopt -s sourcepath
shopt -u xpg_echo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.