Showing posts with label bash. Show all posts
Showing posts with label bash. Show all posts

Tuesday, May 26, 2009

nohup command

nohup ./myscript.sh>log_myscript.log 2>&1 &
tail -f log_myscript.log

nohup ./myscript.sh>log_myscript_`date +%Y%m%d`.log 2>&1 &
tail -f log_myscript_`date +%Y%m%d`.log

`date +%Y%m%d` - grabs current date, inserts it into filename
nohup - script run even after terminal/ssh session ends
>log_myscri... - captures output to log file named log_myscr..
2>&1 - outputs stderr to stdout
& - makes it run in the background
tail -f - watches log, CTRL-C will not stop script

Thursday, February 26, 2009

linux bash xargs cut convert usage

Convert all PSDs to PNGs:
ls *.psd | cut -d . -f 1 | xargs -L1 -i convert {}.psd {}.png

Wednesday, February 11, 2009

echo tabs in bash

The -e turns uses escaped characters like \t \n \r instead of treating them literally which is default.
echo -e "FIRSTNAME\tLASTNAME\tOCCUPATION"

Friday, November 07, 2008

BASH - Time Your Bash Script

#!/bin/bash
time_start=`date +%s`
sleep 63
time_end=`date +%s`
time_elapsed=$((time_end - time_start))
echo $(( time_elapsed / 60 ))m $(( time_elapsed % 60 ))s

Tuesday, September 09, 2008

BASH: bad interpreter: No such file or directory

-bash: ./execute.sh: /usr/bash^M: bad interpreter: No such file or directory


Dos text files use \r\n (0xD 0xA) as their end of line characters. Unix text files use \n (0xA) as their end of line character. What happened here is I had a file in dos text format, and tried to execute it in bash. the ^M you see above is saying "It wasn't expecting the \r character".

Solution:

use dos2unix
[user@linux1 ~] dos2unix execute.sh
dos2unix: converting files execute.sh to UNIX format...