GNU/Linux >> Linux の 問題 >  >> Linux

一時的に使用するためのクリーンなシェル環境を作成するにはどうすればよいですか?

私はUnixに焦点を当てた人気のあるQ&Aサイトで頻繁に回答しています。私の回答の多くでは、bashを使用して例を示しています。 シェル。ただし、これを行うたびに、クリーンな環境を作成するプロセスを手動で実行して、すべてのステップが説明され、文書化されていることを確認する必要があります。このプロセスをより簡単にするにはどうすればよいですか?理想的には、1つのコマンドを入力してクリーンな環境を取得し、完了後にその一時的な環境の痕跡をすべて削除することを検討しています。

承認された回答:

私は個人的に次のbashを使用しています これを行う関数:

so() {
    local tmpdir="$(mktemp -d)"
    local tmprc="$(mktemp)"
    cat > "$tmprc" << EOF
PS1='\$ '
cd "$tmpdir"
EOF
    env - HOME="$HOME" TERM="$TERM" bash --rcfile "$tmprc"
    rm -rf "$tmpdir" "$tmprc"
}

順番は次のとおりです。

  • 一時ディレクトリを作成します(クリーンな環境で作業ディレクトリとして使用します)。
  • 一時ファイルを作成します(bashとして使用します) rcファイル);
  • rcファイルに、次の行を追加します。
    • PS1を設定します プロンプトターミネータにプロンプ​​トを表示し、その後にスペースを追加します。これにより、Q&Aサイトに出力のコピーが必要な場合に備えて関連性が保たれます。
    • 作成した一時ディレクトリに移動します。
  • bashの新しいインスタンスを呼び出します 、これ:
    • $HOMEを除いて、最初は空の環境があります および$TERMenv - ... );
    • 以前に作成した一時ファイルからrcファイルを読み取ります(--rcfile
  • bashが終了したら、作成した一時ファイルを削除します。

明らかに、これは完全に確実なわけではありません。つまり、システムの他の部分にアクセスできます。ただし、これにより、テストに使用できるクリーンな一時環境が提供されます。


Linux
  1. Bash履歴コマンドの使用方法

  2. LinuxBashシェルスクリプトで暗号化されたパスワードを使用する方法

  3. シェルスクリプトで一時ファイルを作成するにはどうすればよいですか?

  1. Linuxで環境変数とシェル変数を設定/作成する方法

  2. Linux でシェル トークンを生成するためにシェル拡張を使用する方法

  3. *nix でポイント コマンド `.` のヘルプを見つけるにはどうすればよいですか?

  1. Bash読み取りコマンドの使用方法

  2. 方法:無制限の Bash/シェル履歴?

  3. Bashでwatchコマンドとjobsコマンドを一緒に使用するにはどうすればよいですか?