1

ターミナルの RedHat で次のワークフローを使用しています。

  • 特異点画像を開く:

singularity run /mn/sarpanitu/singularity/test/fenics-and-more.img

  • 特異点内の一部の表示をエクスポートします。

export DISPLAY=:0.0

  • 特異点内のgmshへのパスをエクスポートします。

export PATH="$HOME/Downloads/gmsh-git-Linux64/bin:$PATH"

すべてをbashスクリプトとして配置したい。私の最初の(機能していない)アプローチは次のとおりです(すべてsingularity_script.shファイル内):

#!/bin/bash

function singularity_script(){
  singularity run /mn/sarpanitu/singularity/test/fenics-and-more.img
  export DISPLAY=:0.0
  export PATH="$HOME/Downloads/gmsh-git-Linux64/bin:$PATH"
}

ソースを取得してから関数を呼び出すことで実行します。

chmod +x singularity_script.sh
. singularity_script.sh
singularity_script

しかしもちろん、これは機能しません。なぜなら、息子の特異点ではなく、親ターミナルでエクスポートが行われるからです (私はそう思いますか?)。そのため、表示とパスが特異点で正しくエクスポートされません。

これを修正する方法はありますか?解決策は、コンテナの起動時にコンテナ内でスクリプトを自動的に実行することだと思いますが、これを簡単に行うにはどうすればよいですか?

4

2 に答える 2