お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2012-10-24 00:13:43

pope
新しいメンバ
登録日: 2012-10-23

シェルスクリプトのusr/binでのコマンド登録

こんにちは、初めて投稿/質問させて頂きます。
ubuntuを最近使い始めた者です。

TeamSpeak3というアプリケーションをインストールしようとした所、パッケージでは無く、実行ファイルとして配布されていました。

そこで、ダウンロード・解凍後、usr/local/binディレクトリへ実行ファイルを含む解凍済みディレクトリを移動させました。
さらにコマンドで実行できるようにしようとしたのですが、このアプリケーションは実行ファイルとは別に実行用のシェルスクリプトが含まれてましたので、それをコマンドに登録することにしました。

usr/binディレクトリの中にこのシェルスクリプトのリンクを作ればいいと思ったので、ln -s hoge.sh teamspeak3としてシェルスクリプトのリンクを作成し、それをmv teamspeak3 ../../../../usr/binでディレクトリ移動させました。
しかし、これではteamspeak3とコマンド入力しても実行ファイルが見つからず起動できませんでした。

結果、nautilusから右クリックメニューのリンクを作成、teamspeak3にリネーム、これをusr/binに移動する事でうまくいったのですが
以上の事について質問があります。

1. こういったアプリケーションのディレクトリはusr/local/binに移動させておくという認識で良いか
2. なぜlnコマンドで作成したリンクではうまくいかなかったのか
3. 2.も含みますが、nautilusからのリンク作成に相当するコマンドはあるのか

どうか回答お願いします。

オフライン

 

#2 2012-10-24 00:46:53

aaabbbcccdddeeefffggghhh
メンバ
登録日: 2008-02-25

Re: シェルスクリプトのusr/binでのコマンド登録

pope による投稿:

1. こういったアプリケーションのディレクトリはusr/local/binに移動させておくという認識で良いか

そこは実行ファイルを置く場所なので、/usr/local/lib/とかの方がいいかもしれませんね。

pope による投稿:

2. なぜlnコマンドで作成したリンクではうまくいかなかったのか

相対リンクを指定したからです。
Nautilusでリンクを作成した場合、中身は絶対リンクになります。

pope による投稿:

3. 2.も含みますが、nautilusからのリンク作成に相当するコマンドはあるのか

絶対リンクを指定すればOKです。
例えば、

cd /usr/local/bin
sudo ln -s /usr/local/lib/teamspeak3/teamspeak3 .

のような感じで。

オフライン

 

#3 2012-10-24 00:56:11

aaabbbcccdddeeefffggghhh
メンバ
登録日: 2008-02-25

Re: シェルスクリプトのusr/binでのコマンド登録

書いた後で気付きましたが、相対リンク/絶対リンクじゃなくて、
相対パス/絶対パスと言った方が正しいですね。

オフライン

 

#4 2012-10-24 02:50:45

STGSAGWAN
ゲスト

Re: シェルスクリプトのusr/binでのコマンド登録

私の場合、ビルド不要でバイナリ配布されてるものは、/opt配下に適当にディレクトリを掘って格納し、パスの通った所(/usr/loca/binや$HOME/binとか)に実行ファイルやシェルスクリプトへのシンボリックリンクを置くケースが多いかも。

 

#5 2012-10-24 02:52:25

STGSAGWAN
ゲスト

Re: シェルスクリプトのusr/binでのコマンド登録

#4の誤字訂正
誤) /usr/loca/bin
正) /usr/local/bin

 

#6 2012-10-24 15:26:54

pope
新しいメンバ
登録日: 2012-10-23

Re: シェルスクリプトのusr/binでのコマンド登録

なるほど、localフォルダを使うのですか、参考になります。
シンボリックリンクについても、よく分かりました。

回答ありがとうございました、これですっきりしました。
なるべく自力で解決したいですが…、また何かあったら宜しくお願いします。

オフライン

 

Board footer

Powered by FluxBB