ここから本文です

sourceコマンドとbashコマンドについて

fire_gunz_0807_takuさん

2009/7/1107:25:17

sourceコマンドとbashコマンドについて

こんにちは。現在Linux初心者でコマンドの勉強をしているものです。

たとえば、viエディタを使ってテキストファイルを作った時に、
1行目に「ls-l」と記述して保存します。(名前はmylsとします。)

そして、
「source myls」と入力したときと
「bash myls」と入力したときは結果が同じなのですが、これは問題ないのでしょうか?

sourceコマンドとbashコマンドの違いとは??

以上、よろしくお願いします。

閲覧数:
11,264
回答数:
1

違反報告

ベストアンサーに選ばれた回答

2009/7/1108:21:45

現在ログインしているシェルは、一つの bash プロセスで動作しています。(ログインシェルが bash の場合)
source コマンドは、ログインで使用している bash プロセス自身が読み込んで動作します。
bash コマンドは、もう一つ bash プロセスを起動し、そちらで動作します。
どちらも同じ bash プロセスで動作しているので、質問の場合だとどちらでも同じですよ。

使い分けの注意点は、シェルの中で環境変数を定義するように作成しても、
source コマンドで実行すれば現在ログインしているシェルに反映されますが、
bash コマンドだと自分自身に反映されてもそのシェルが終了すると bash も終了するので、
現在ログインしているシェルには反映されません。
環境変数を定義しようとしている以外は大抵 bash で起動しますね。

例)
export TEST=sample

上記を bash と source で実行すると、
env
で環境変数を見ても bash で実行した方は TEST 環境変数は定義されていないはずです。
(環境変数をきれいにするためにログインしなおして試してみてくださいね)

質問した人からのコメント

2009/7/13 08:19:15

成功 ご丁寧にありがとうございました。また機会がありましたら宜しくお願いします!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo!知恵袋カテゴリ

一覧を見る

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。