itoutline.me

 

Make life easier

Czasami łatwość z jaką można sobie podnieść komfort pracy jest zaskakująca. Zawsze przy testowaniu jakichś skryptów, najpierw tworzyłem katalog, przechodziłem do niego, potem otwierałem vi, potem zmieniałem uprawnienia i uruchamiałem skrypt. Za pomocą funkcji btouch dodanej do .bash_profile cztery czynności złożą się w jedną po wpisaniu takiej linii:

btouch ~/SampleDir/DirBelow/SampleScript.sh

Oczywiście można to zrobić też tak:

mkdir -p ~/SampleDir/DirBelow/ && cd ~/SampleDir/DirBelow/ && touch SampleScript.sh && chmod u+x SampleScript.sh && vi SampleScript.sh

Ale jak widać pisania jest znacznie więcej. Funkcja btouch:

btouch()

{

FULLPATH=$1
FILENAME=${FULLPATH##*/}
FILEEXTENSION=${FILENAME##*.}
BASEDIRECTORY=${FULLPATH%$FILENAME}

[ ! -d $BASEDIRECTORY ] && mkdir -p $BASEDIRECTORY
[ ! -f $FILENAME ] && touch $BASEDIRECTORY/$FILENAME
if [ $FILEEXTENSION = "sh" ] || [ $FILEEXTENSION = "py" ] || [ $FILEEXTENSION = "pl" ]; then
   chmod u+x $BASEDIRECTORY/$FILENAME
fi
cd $BASEDIRECTORY
sub . $FILENAME

}

W ostatniej linii sub . $FILENAME, nie uruchamiam już vi, powoli przesiadam się na Sublime Text, który ma ogromne możliwości personalizacji.

Żeby polecenie btouch działało poprawnie trzeba jeszcze dodać poniższy alias do .bash_profile:

alias sub="/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl"

Dzięki czemu Sublime Text będzie mógł być uruchamiany za pomocą polecenia sub np.

sub . - otwiera program w trybie przeglądania obecnego folderu

sub . SampleScript.sh - tak samo jak powyżej, dodatkowo otwiera plik do edycji

Po dodaniu funkcji i aliasu do .bash_profile należy go ponownie zaczytać np.

cd ~;. .bash_profile

albo uruchomić nowe okno terminala.

Comments