web-dev-qa-db-ja.com

shファイルからソースコマンドを実行する方法

install.shというファイルがあり、このファイル内で$HOME/.bashrcファイルに何かを書き込んだ後、sourceコマンドを呼び出す必要があります。ターミナルではsource $HOME/.bashrcと入力できますが、bashスクリプトでこれを行うことはできません。これをファイルに書き込むと、次のエラーが発生します。

./install.sh: 1: ./install.sh: source: not found

Ubuntu 12.04 x64を使用しています。

それを行う方法の提案はありますか?

6
golobich

Bashスクリプトをプログラムする場合は、 Shebang (スクリプトファイルの最初の行)を次のように変更します。

#!/bin/bash
10
RSFalcon7

おそらく、必要なことを達成するためのより簡単な方法は、bashで提供される-f [filename]オプションを使用し、その代替rcファイルから必要なすべての環境変数をロードすることです。ソースbuliten(組み込み)は、ここで使用する方法で機能することを意図したものではありません。 "、インクルード、およびソースブリテンは、ライブラリ(再利用可能な関数コード)リソースを呼び出されたスクリプトに含めることを目的としていました。

bash -l -f /path_to_file/.foo_rcfile

0
Carl Lindgren