私の質問は、どうすればgnuplotのデフォルトのシェルを変更できますか?stdoutをbashに送信するために変更したい。
これはかなり簡単なはずですが、私はあきらめています。その理由は次のとおりです。
gnuplot ver。を実行しています。4.6 Lubuntu 13.10。のパッチレベル3
私のデフォルトの対話型シェルはbash(Bourne-again shell)であり、Lubuntuのログインシェルはdash(Debian Almquistシェル)のようです。問題ありません。
しかし、gnuplotはbashの代わりにダッシュも使用しています。これは私がgnuplotに尋ねたときに得たものです:
gnuplot> system "echo $0"
sh
そして、シェルに尋ねると:
$ which sh
/bin/sh
$ ls -goh /bin/sh
lrwxrwxrwx 1 root root 4 Dec 23 09:30 /bin/sh -> dash
問題のコンテキスト:いくつかのepslatexプロットを生成していますが、それぞれのincludegraphicsパスを変更する必要があります。
これは問題ではないはずです。sedとループが解決できないことは何もありませんが、gnuplotのシステムコールコマンドを使用してsedまたはbashスクリプトを呼び出すことはうまくいきませんでした。最後のファイルの最後の3行は常に欠落しています。ただし、純粋なbashから同じものを実行すると、かなりきれいになります。
また、opossiteを試し、gnuplotスクリプトからgnuplotを呼び出し、gnuplotスクリプトの印刷コマンドを含め、gnuplotのstd出力をbash変数にキャプチャしようとしましたが、どちらも機能しませんでした。たとえば、bashから次の行を試行すると、std出力にメッセージが返されますが、変数には内容が保存されません。
var=$(gnuplot plot.gnu)
これがLubuntuの問題なのかgnuplotの問題なのかわかりません。回避策で既にtexファイルの問題を解決しましたが、gnuplotのシェルの問題はまだ気にしています。
だから私はそれを一般的な方法で尋ねています:¿どうすればgnuplotのデフォルトシェルを変更できますか?出来ますか?たぶんそれは他の誰かにとって役に立つかもしれません。;)
2016年8月3日に編集
最初の質問は、システムコールを使用して(system
コマンドを使用して)gnuplotからbashコマンドとスクリプトを実行する方法についてでした。ただし、この質問に対して提案した解決策は、ディストリビューションの元のシステムシェルdashを、知っているシェルbashに変更することでした。
システムシェルをbashに変更すると、システムの全体的なパフォーマンスに影響する場合があります。
gnuplot
です。どれがチョコレートで覆われていると思いますか。実際の目標をより詳細に拡張することをお勧めします。その後、誰かがTeX StackExchangeがあることをあなたに伝えることができます。(-: