私がよく使うディレクトリがあります。仮定は次のとおりです。
/etc/insserv.conf.d/testname
私の変数を設定しました/root/.bashrc
。
mydir=/etc/insserv.conf.d/testname
このコマンドを使用してこのディレクトリを開くことができます。
cd $mydir
しかし、私はこのキャラクターがあまり好きではありません$
。これを達成するための解決策はありますか?私は言う:を介してこのディレクトリを開きたいと思いますcd mydir
。大丈夫ですかUbuntu 16.04
?
答え1
あなたはオプションを探していますcdable_vars
。shopt -s cdable_vars
bashを使用している場合(setopt cdablevars
zshの場合)、それを実行して有効にします。その後はcd mydir
簡単です。
ノートcd mydir
同じ名前のファイルまたはディレクトリを含むディレクトリで操作を実行しようとすると、シェルは変数を拡張するのではなく、現在のディレクトリのファイルまたはディレクトリオブジェクトを使用しようとします。
答え2
どうですか?
mydir
変数を定義し、すでに行ったように関数を作成するだけです。
mydir=/etc/insserv.conf.d/testname
mydir(){ cd "$mydir"; }
完璧。
別の方法は、別名を使用することです。
alias mydir='cd "$mydir"'
答え3
グローバルエイリアスを使用する必要があります。 bashはこれをサポートしていないようですが、zshではうまく機能します。
デモ
インストールする
$ sudo apt install zsh
私と同じ姿を持つには
Oh My Zshをインストールします。
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
無視するにはテーマを変更してください。
sed 's/^ZSH_THEME=".*"$/ZSH_THEME="agnoster"/' -i .zshrc
そしてAgnosterが機能するようにするには、Powerlineフォントをインストールします。
curl https://pastebin.com/raw/nD4DTpuF | bash
構文ハイライトプラグインをインストールします。
ダウンロード
git clone git://github.com/zsh-users/zsh-syntax-highlighting.git .oh-my-zsh/custom/plugins/zsh-syntax-highlighting
そして適用してください:
sed 's/^plugins=\((.*)\)$/plugins=(\1 zsh-syntax-highlighting)'
最後に、構成設定を再ロードします。
source .zshrc
申し訳ありません。このチュートリアルは長すぎますが、楽しくお楽しみください。