psh

pshは、perlのshellです。

適当に ~/.pshrc を書いてみた。

#!/usr/bin/perl

use strict;
use warnings;

use Psh;
use Psh::Prompt;
use Sys::Hostname;
use File::Basename;
use Term::ANSIColor;

# The maximum number of lines to save in the history file. 
# Defaults to 50.
option histsize= 100;

# ウィンドウタイトル
option window_title= sub{
    # The current working directory
    return $Psh::Prompt::prompt_vars{w}->()||0;
}

# プロンプト
option ps1= sub{
    # The username of the current user
    my $user = $Psh::Prompt::prompt_vars{u}->();
    
    # The short hostname
    # my $host = $Psh::Prompt::prompt_vars{h}->();
    my $host = hostname;
    
    # The current working directory
    my $dir  = basename $Psh::Prompt::prompt_vars{w}->();
    
    return
	color("green") 
	. $user . '@' . $host . ':' . $dir 
	. color("reset")
	. '$ ';
}

# エイリアス
alias less = 'lv';
alias ls = 'ls --color=auto'
alias ll = 'ls -l';
alias la = 'ls -a';
alias emacs = 'emacs -nw';
alias mew = 'emacs -e mew'
  • メモ

option は、変数名と = の間にスペースを入れてはいけない。

文字をエスケープするのに、バックスラッシュ(\)が二つ必要だった。

etc ...