1 #!/bin/sh 2 3 ################################################################################ 4 ## ## 5 ## Copyright (c) International Business Machines Corp., 2005 ## 6 ## ## 7 ## This program is free software; you can redistribute it and#or modify ## 8 ## it under the terms of the GNU General Public License as published by ## 9 ## the Free Software Foundation; either version 2 of the License, or ## 10 ## (at your option) any later version. ## 11 ## ## 12 ## This program is distributed in the hope that it will be useful, but ## 13 ## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## 14 ## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## 15 ## for more details. ## 16 ## ## 17 ## You should have received a copy of the GNU General Public License ## 18 ## along with this program; if not, write to the Free Software ## 19 ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ## 20 ## ## 21 ## ## 22 ################################################################################ 23 # 24 # File: 25 # create_file 26 # 27 # Description: 28 # Create a file in the specified size 29 # 30 # Arguments: 31 # $1: filename 32 # $2: filesize 33 # 34 # Returns: 35 # 0: Success 36 # 1: Fail 37 # 38 # Author: 39 # Mitsuru Chinen <mitch (at] jp.ibm.com> 40 # 41 # History: 42 # Oct 19 2005 - Created (Mitsuru Chinen) 43 # 44 #----------------------------------------------------------------------- 45 #Uncomment line below for debug output. 46 #trace_logic=${trace_logic:-"set -x"} 47 $trace_logic 48 49 # Check argument 50 if [ $# -ne 2 ] ; then 51 echo "Usage: create_file filename filesize" >&2 52 exit 1 53 fi 54 filename=$1 55 filesize=$2 56 57 if [ $filesize -le 0 ]; then 58 echo "The filesize should be bigger than 0" >&2 59 exit 1 60 fi 61 62 echo -n "A" > $filename 2>/dev/null 63 echo -n "Z" | dd of=$filename bs=1 seek=`expr $filesize - 1` >/dev/null 2>&1 64 if [ $? -ne 0 ]; then 65 echo "Failed to create $filename" >&2 66 exit 1 67 fi 68 chmod 644 $filename 69 70 exit 0 71