質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

3回答

734閲覧

direnvみたいに特定のディレクトリに移動した何か処理したい

yoppy0066

総合スコア293

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2018/03/13 14:09

direnvが何か処理しているかわかりませんがそういうこは可能でしょうか?やりたいこととしてはディレクトリごとに設定ファイルを用意してその設定ファイルが存在するディレクトリに入ったら何か処理をしたいということなのですが

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

参考情報

  • シェルでコマンドの実行前後をフックする

http://note.hibariya.org/articles/20170219/shell-postexec.html

  • どうせcdした後はlsも打つんでしょ?

https://gist.github.com/tmaeda/161065/e8a2f6ad9e3cc8084432c94144b2e3e86f3bf56a

投稿2018/03/13 22:01

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

direnvがどうやってるかはぱっと見みただけではわかりませんでしたが、例えば Bashなどであれば cd コマンド をフックすることで似たようなことはできるかもしれません。

cd() { builtin cd "$@" || return [ "$OLDPWD" = "$PWD" ] || case $PWD in (*/public_html) echo "Hello! here is public_html!" esac }

上記内容を .bashrc などに追記して以下のように試すとメッセージが表示されます。

$ source ~/.bashrc $ mkdir public_html $ cd public_html Hello! here is public_html!

参考: https://unix.stackexchange.com/a/170311

投稿2018/03/13 14:30

tell_k

総合スコア2120

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoppy0066

2018/03/14 07:52

ありがとうございます。.bashrc以外に設定するとなるとどこに記述するのがよいのでしょうか?(他人も簡単に使えるようにしたい場合など)
tell_k

2018/03/14 12:06

「他人」をどう想定していますか? 「同じマシン上の別のユーザー」くらいの意味であれば、/etc/profil eあたりに書いておけば良い気がします。 http://oxynotes.com/?p=5418
yoppy0066

2018/03/14 13:35

ありがとうございます。できれば全くの他人も使えるようにというのが理想でした。
guest

0

cdを「cdして、その後~~する」という処理に置き換えているので、同じようにすれば良いでしょう。

Bash

1# cdして.myrcがあれば表示する 2cd() { builtin cd "$1"; if [ -f .myrc ]; then cat .myrc; fi; }

みたいな。

投稿2018/03/13 14:28

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問