Hack 43. PS1 変数内でシェルスクリプトを使用する
PS1 変数内でシェルスクリプトを実行することもできます。
以下の例では、~/bin/totalfilesize.sh は現在ディレクトリのトータルのファイルサイズを計算しますが、
PS1 変数内で実行されます。
ramesh@dev-db ~> cat ~/bin/totalfilesize.sh
for filesize in $(ls -l . | grep "^-" | awk '{print $5}')
do
let totalsize=$totalsize+$filesize
done
echo -n "$totalsize"
ramesh@dev-db ~> export PATH=$PATH:~/bin
ramesh@dev-db ~> export PS1="\u@\h [\$(totalfilesize.sh) bytes]> "
ramesh@dev-db [534 bytes]> cd /etc/mail
ramesh@dev-db [167997 bytes]>
[Note: これは totalfilesize.sh を実行して、PS1 プロンプトに現在ディレクトリの総ファイルサイズを表示します]