
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\"'");