現在Gentoo Linuxを実行しており、PowerShellがインストールされています(アプリケーションシェル/pwsh-bin)私は反対者だからです。
ところで、特定のコマンドを実行すると、デフォルトでは色が得られません。または、ls
実行grep
中または通常のシェル(bashなど)でデフォルトでカラー出力が表示されます。 PowerShellの実行または実行時に色を取得するには、これら2つのコマンドを使用するか手動で呼び出す必要があります。つまり、このコマンドはPowerShellでデフォルトで色を持ちます(Energyは機能しませんが、これは別の問題です)。ls
grep
ls
grep
ls --color
grep --color
emerge
これらのコマンドに色があるかどうかを確認するにはどうすればよいですか?たぶんPowerShellはデフォルトユーティリティを使用しませんが、ls
独自のコマンドのエイリアスを定義できます。しかし、この情報を使用して問題を解決する方法がわかりません。
編集:提供された答えは実際に私の問題を解決しません。今私が走るときは色がありますが、ls
走るときは色がありませんgrep
。また、提供された設定ファイルで、次のような多くのエラーが発生しました。
Set-Alias: /home/jj/.config/powershell/Microsoft.PowerShell_profile.ps1:2 Line | 2 | set-alias cd set-location | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | The AllScope option cannot be removed from the alias 'cd'.
答え1
ls
PowerShell は、grep
他のシェルで使用するのと同じバイナリを使用します。私のBunsenラボベリリウム(Deb 11)では、/usr/bin/ls
と/usr/bin/grep
。色付けはのエイリアスを使用して定義されます.bashrc
。
alias grep='grep --color=auto'
alias ls='ls --color=auto'
などで定義されたエイリアスは.bashrc
PSセッションに渡されません。ただし、PSには$profile
文書があります(参照マイクロソフト)「環境をカスタマイズし、セッション固有の要素を追加する」。構成ファイルを見つけるには、$profile
シェルに入力します。私のシステムではデフォルト値ですが、~/.config/powershell/Microsoft.PowerShell_profile.ps1
インストール後にファイルは存在しません。 MS リンクには、作成方法のガイドラインが含まれていますが、従っていません。先ほどディレクトリを作成してファイルを作成しました。
このトピックを調査した後の最も簡単な方法は次のとおりです。エイリアシングのコマンドは$profile
定義された機能と組み合わせられます。私はこれを私のものとして使うようになりました$profile
。
if ($host.Name -eq 'ConsoleHost')
{
function ls_col { & '/usr/bin/ls' --color=always $args }
Set-Alias -name ls -Value ls_col -Option AllScope
function grep_col { & '/usr/bin/grep' --color=always $args }
Set-Alias -name grep -Value grep_col -Option Allscope
}
...私のBashセッションと同じ色ls
です。grep
Allscope - オプションの説明ここ。
注 - これは徹底的かつ徹底的な方法ではなく、迅速で汚れたテストです。このリンクは、これをさらに促進するのに役立ちます。もっとよく知っている方が修正してもらえますね :-)