私はbashシェルシステム上で実行する必要のある高価なソフトウェアに関連するいくつかのtcshスクリプトを用意しています。それも可能ですか?このソフトウェアは頻繁にこれらのスクリプトを必要とし、tcshに基づいています。それは同時に2つのシェルを実行することは可能ですか?または、スクリプトの冒頭でtcshシェルを呼び出すだけですか?またはシェルスクリプトを翻訳するコンパイラはありますか?私の選択肢は何ですか?ありがとうございました。bashシェルシステムからtschスクリプトを実行する方法は?
0
A
答えて
1
適切なshebangをスクリプトの上部に貼ります。 tcsh
が/bin/tcsh
としてインストールされている、各tcshのスクリプトはその最初の行としてこれを持っていなければならないと仮定
:
#!/bin/tcsh -f
(-f
は、.login
や.tcshrc
としてあなたの起動スクリプトをロードしないようにシェルに指示します任意のスクリプトを実行します。あなたのユーザ環境に依存するべきではないので、スタートアップスクリプトを起動する必要はありません。スクリプトがより速く読み込まれるようになります。-f
はBourne由来のシェルとは異なる意味を持ちますが、-f
はcshとtcshスクリプト)
tcsh
がインストールされているあなたは移植性を前提とすることができない場合は、代替手段は次のとおりです。
#!/usr/bin/env tcsh
しかし、それはあなたが-f
オプションを使用できません、それは他の欠点を持っている可能性があり、詳細はthis answerを参照してください。
実際には「bashシェルシステム」のようなものはありません。 bashとtcshはどちらも実行できるプログラムです。新しく作成されたユーザーアカウントの既定の対話型シェルとして、どちらか一方が動作する可能性はありません。
関連する問題
- 1. 私のpythonプロジェクト内からbashスクリプトを実行する方法
- 2. C++プログラムからbashスクリプトを実行する方法
- 3. Javaからbashスクリプトを実行する方法
- 4. bashから.sqlスクリプトを実行する方法
- 5. Bash - 別のスクリプトから出力されるスクリプトを実行する方法
- 6. は、私はbashスクリプトから次のコマンドを実行するbashスクリプト
- 7. bashスクリプトを1行ずつ実行する方法は?
- 8. データベースのコマンドラインでpostgreSQLスクリプト/ bashスクリプトを実行する方法
- 9. は、私はbashスクリプトからPythonスクリプトを実行していますbashの
- 10. htmlからbashスクリプトを実行
- 11. PHPからbashスクリプトを実行
- 12. bash - スクリプトから複数のスクリプトを実行する
- 13. PHPスクリプトからbashスクリプトを実行する
- 14. Meteor JSでBashスクリプトを実行する方法は?
- 15. Javaからの実行中のbashスクリプト
- 16. PL/SQLスクリプトからperlスクリプトを実行する方法は?
- 17. PHP bashスクリプトの実行後にリモートゲートウェイからエラーメッセージを出力する方法
- 18. マクロシェルからbashスクリプトを実行するには?
- 19. bashスクリプトを定期的にコマンドを実行する方法
- 20. 実行BASHスクリプトが
- 21. git pushの後にbashスクリプトを実行する方法
- 22. wake mac os xでbashスクリプトを実行する方法
- 23. 同じシェルでbashスクリプトを実行する方法
- 24. sshをPHPで使用するbashスクリプトの実行方法
- 25. 終了せずにbashスクリプトを実行する方法
- 26. 別のbashスクリプトによって実行されるbashスクリプトからpythonを実行
- 27. テキストファイルからbashスクリプトを使ってコマンドを実行する
- 28. antスクリプトからSQLスクリプトを実行する方法
- 29. JavaアプリケーションのプロセスツリーをCtrl + CでBashスクリプトから実行する
- 30. リモートサーバーからbashスクリプトを実行するPHP
このことを考えてみましょう。あなたのログインシェルが 'tcsh'だったシステムでは、そのシェルは'/bin/sh'で起動されました。 – chepner
@chepner:私はそれが正確だとは思わない。あなたのログインシェルは、(私が知る限り) '/ bin/sh'によってログインプロセスなどによって呼び出されます。 'system()'関数が '/ bin/sh'を使っているのは事実ですが、あなたのログインシェルを呼び出すものは' system() 'を呼び出すことによっておそらくそれをしません。 –
True;私が作っていたのは、「シェルは他のどのようにも実行できるプログラムです」と思っていたからです。 – chepner