Bashスクリプトは非常に便利でプログラミング時間を大幅に節約できます。では、C++プログラムでbashスクリプトをどのように起動しますか?また、ユーザーがスーパーユーザーになる方法を知っていれば、それもいいでしょう。ありがとう!C++プログラムからbashスクリプトを実行する方法
答えて
system
機能を使用してください。
system("myfile.sh"); // myfile.sh should be chmod +x
#include <stdio.h>
#include <stdlib.h>
// ....
system("my_bash_script.sh");
bashスクリプトが何らかのテキストをttyにエコーするとどうなりますか?例えば。もしそれが "猫"だったら? Cプログラムにその出力がありますか? –
のみ標準義務付け実装に依存する方法はstdlib.h
からsystem()
機能を使用することです。
また、ユーザーをスーパーユーザーにする方法もわかっていると、それもいいでしょう。
スクリプトをスーパーユーザーとして実行するか、C実行可能ファイルの権限を昇格しますか?前者はsudo
で行うことができますが、sudo
を使用する前に知っておくべきことがいくつかあります。
StackOverflow: How to execute a command and get output of command within C++?
StackOverflow: (Using fork,pipe,select): ...nobody does things the hard way any more...
また、ユーザーがまたいいだろう、スーパーユーザーになるようにする方法を知っていれば。ありがとう!
sudoの。スー。 chmod 04500.(setuid()& seteuid()、しかし、あなたはすでにrootになっている必要があります)
注意してください。これらは、「興味深い」セキュリティホールを開くことができます...
あなたは何をしているかによって、ルートを必要としない場合があります。 (例えば:chmod/chown/devデバイス(シリアルポートなど)(sudo root)私は自分のソフトウェアからrootでなくても使うことができます。
これはかなり古い質問なので、このメソッドは追加されていません(system()
呼び出し関数を除いて)。作成することを含めると便利だと思いますシェルスクリプトはCバイナリ自体を持っています。シェルコードはfile.c
ソースファイル内に格納されます。ここでは、コードの例です:
#include <stdio.h>
#include <stdlib.h>
#define SHELLSCRIPT "\
#/bin/bash \n\
echo -e \"\" \n\
echo -e \"This is a test shell script inside C code!!\" \n\
read -p \"press <enter> to continue\" \n\
clear\
"
int main() {
system(SHELLSCRIPT);
return 0;
}
は基本的には、(しゃれが意図した)一言で言えば、我々は、スクリプト名を定義するスクリプトを肉付け、二重引用符で囲むされている(二重引用符を無視するように、適切なエスケープを挿入しながらこのスクリプトの名前を呼び出すと、この例ではSHELLSCRIPT
となり、system()
関数はmain()
になります。
- 1. 私のpythonプロジェクト内からbashスクリプトを実行する方法
- 2. Javaからbashスクリプトを実行する方法
- 3. bashから.sqlスクリプトを実行する方法
- 4. bashシェルシステムからtschスクリプトを実行する方法は?
- 5. Bash - 別のスクリプトから出力されるスクリプトを実行する方法
- 6. JavaアプリケーションのプロセスツリーをCtrl + CでBashスクリプトから実行する
- 7. forループ内のbashスクリプトから複数のプログラムを実行
- 8. C++プログラムからC#exeを実行する方法
- 9. QTプログラムからターミナルでbashスクリプトを起動する方法は?
- 10. データベースのコマンドラインでpostgreSQLスクリプト/ bashスクリプトを実行する方法
- 11. htmlからbashスクリプトを実行
- 12. PHPからbashスクリプトを実行
- 13. bash - スクリプトから複数のスクリプトを実行する
- 14. PHPスクリプトからbashスクリプトを実行する
- 15. Cプログラム経由でBASHコマンドを実行
- 16. GDBでbashシェルスクリプトを実行するCプログラムをデバッグする方法は?
- 17. C++プログラムからコマンドラインコマンドを実行する方法
- 18. bashスクリプトを1行ずつ実行する方法は?
- 19. 複数行bashスクリプトをC++コードから文字列として実行する
- 20. は、私はbashスクリプトから次のコマンドを実行するbashスクリプト
- 21. Javaからの実行中のbashスクリプト
- 22. PHP bashスクリプトの実行後にリモートゲートウェイからエラーメッセージを出力する方法
- 23. C++プログラムからbashスクリプトに値を戻す
- 24. EthereumからC++スクリプトを実行する
- 25. bashスクリプトでCプログラムを実行し、定義済みの定数の値を与える方法は?
- 26. Cプログラム内からプログラムを実行
- 27. は、私はbashスクリプトからPythonスクリプトを実行していますbashの
- 28. bashスクリプトを定期的にコマンドを実行する方法
- 29. 実行BASHスクリプトが
- 30. git pushの後にbashスクリプトを実行する方法
ありがとうございますが、これを含めるのを忘れてしまった:system( "./ myfile.sh"); – Kredns
それは動作しません。フォルダがあなたのパスにある場合:) –
現在のディレクトリ '.' *はあなたの' $ PATH'にあるべきではありません。 –