.bashrc
A configuration file for bash
A configuration file for bash
Продолжаем соревнование с фотосайтом по разработке программы для установки в Gnome фото дня с фотосайта в качестве обоев рабочего стола.
#!/bin/bash cd /var/photosight && \ FN=`wget -q http://www.photosight.ru/applications/photo1.js -O - \ | iconv -f cp1251 -t utf-8 \ | sed 's/.*\(http.*jpeg\).*/\1/' \ | sed 's/top_of_day/large/' \ |xargs echo` ID=`echo $FN |sed 's/.*\/\([0-9]\+\)_large.jpeg/\1/'` wget -q -N $FN -O $ID.jpg && \ gconftool-2 -t str --set /desktop/gnome/background/picture_filename /var/photosight/$ID.jpg && \ gconftool-2 -t str --set /desktop/gnome/background/picture_options "centered" cd ~-
Er... after reading the insightful comments at debian-administration.org, I figured out a much shorter version which is also easier to understand. Tested on GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu).
{syntaxhighlighter brush: bash} function truncate_pwd { newPWD="${PWD/#$HOME/~}" local pwdmaxlen=$((${COLUMNS:-80}/4)) if [ ${#newPWD} -gt $pwdmaxlen ] then newPWD=".+${newPWD: -$pwdmaxlen}" fi } PROMPT_COMMAND=truncate_pwd PS1="${ttyname}@\h:\${newPWD}\\$ " {/syntaxhighlighter}