Bash ターミナルに問題があります。

Bash ターミナルに問題があります。

Bash ターミナルに問題があります。

詳細に関する私の問題点:

はい、手動で実行できることは承知しています。しかし、すべてのユーザーが手動で実行しなければならないとしたら、面倒です。「echo」でも試してみましたが、思ったようには動作しませんでした。

また、Java で bash ファイルを実行する方法も教えていただけると嬉しいです。(ただし、自分でも理解できます。)

基本的には Linux bash ターミナルのカラー 0a です。

可能であれば、特別なソフトウェアは必要ありません。

たぶんこれは役に立つでしょう。ただし、実行できません。

PS1="\[\033[34m\][\$(date +%H%M)][\u@\h:\w]$ "

ターミナルで「exec」コマンドを実行することはできます。しかし、色などのコマンドは、ping の後でも ping コマンドの前でも機能しません。ご返信ありがとうございます。

答え1

私の問題の解決策は次のとおりです。

public static final String ANSI_RESET = "\u001B[0m";

public static final String ANSI_BLACK = "\u001B[30m";

public static final String ANSI_RED = "\u001B[31m";

public static final String ANSI_GREEN = "\u001B[32m";

public static final String ANSI_YELLOW = "\u001B[33m";

public static final String ANSI_BLUE = "\u001B[34m";

public static final String ANSI_PURPLE = "\u001B[35m";

public static final String ANSI_CYAN = "\u001B[36m";

public static final String ANSI_WHITE = "\u001B[37m";

https://stackoverflow.com/questions/5923436/java コンソール出力の色の変更

まず上記の色を宣言します。次に、次のように記述します。

System.out.println(ANSI_RED + "hello World");

その後、プログラムを実行すれば完了です。

出典: https://stackoverflow.com/questions/5923436/java コンソール出力の色の変更

乾杯。

答え2

Java 経由でシェル スクリプトを簡単に実行できます。

Runtime.getRuntime().exec(myCommand);

これは、シェル スクリプトが対話型でない限り (そして適用可能なパス内にある限り) 機能します。対話型の場合は状況がおかしくなるため、そのためには Process Builder を使用する必要があります。

答え3

これは動作するはずです (エスケープ シーケンスもエスケープする必要があります。そうすることで、エスケープ シーケンスが継承され、Java によって展開されなくなります)。

 p = Runtime.getRuntime().exec("/bin/bash -c 'echo -ne \"\\e[40m\\e[32m\"; ping " + b + "; echo -ne \"\\e[0m\"'");

関連情報