LoginSignup
2
0

More than 3 years have passed since last update.

特定コマンドを実行したらディレクトリを変更してほしい

Posted at

概要

作業ディレクトリが深くなってしまい

「ssh実行時後任意のタイミングですぐに接続したい!!」

という阿呆な考えのもと。。。

「シェルでいけんぢゃね?!」
とやってみました。

  • 全ユーザ対応
  • 一言でディレクトリ移動

もしもっと良い方法などあれば、教えてください。

方法

  1. shell を書く
  2. alias を設定する

1. shellを書く

/usr/bin でシェルを書きます。
理由:パスの設定が不要なため

$ cd /usr/bin
$ sudo vi hoge

hoge ファイルを作成します。 以下のようにディレクトリ変更のシェルを書く

hoge
#!/bin/bash
echo "----------ディレクトリを移動します--------"
cd '/var/test/hoge/hoge/hoge'
ls '/var/test/hoge/hoge/hoge'
pwd

実行権限の追加

$ sudo chmod u+x hoge

注意

hoge と実行しても、ディレクトリは移動されません。
source hoge としないと、ローカルユーザが移動されません。

テスト実行時は、以下のようにします。

$ source hoge

alias を書く

こちらのサイトのファイルの読み込み順番を確認したところ、/etc/profileが、全ユーザ対応だったので、このファイルに書きます。

★ローカルユーザのみの場合は、~/.bash_profileに書き込みをしてください。

$ sudo vi /etc/profile

最終行に以下を追加

/etc/profile
alias accord='source hoge'

設定を反映させる

$ source /etc/profile

実行確認

$ hoge
----------ディレクトリを移動します--------
hoge.txt test.txt
/var/test/hoge/hoge/hoge
$

というように実行されます。

感想

シェルが初めてだったので、苦労。
- シェルはコマンドがそのままかけるのか??
- A: YES
- ローカルユーザがそのままコマンド実行できてない!どうやるの?
- A: source *.shで実行する(今回拡張子なしで設定しちゃいましたけど)

という苦労と苦闘がございました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0