salin.sh file-asal file-tujuan
Dengan ketentuan :
- Bila file asal tidak ada, berikan pesan, salin gagal.
- Bila file tujuan ada dan file tersebut adalah directory, beri pesan bahwa file
tidak bisa disalin ke direktori
- Bila file tujuan ada dan file biasa, beri pesan apakan file tersebut akan
dihapus, bila dijawab dengan “Y”, maka copy file tersebut
- Bila file tujuan belum ada, lakukan copy
Untuk mengambil nama file, gunakan parameter $1 dan $2. Bila jumlah
parameter tidak sama ($#) dengan 2, maka beri pesan exit = -1
#!/bin/sh
if [ $# -ne 2 ]
then
echo "Error, usage: salin.sh file-asal file-tujuan"
exit -1
fi
fasal=$1
ftujuan=$2
echo "salin.sh $fasal $ftujuan"
if [ -f $fasal ]
then
if [ -d $ftujuan ]
then
echo "File tidak bisa disalin ke directory."
exit -1
fi
if [ -f $ftujuan ]
then
echo -n "Timpa ? "
read timpa
if [ $timpa = "Y" -o $timpa = "y" ]
then
cp -f $fasal $ftujuan
fi
else
cp $fasal $ftujuan
fi
else
echo "Salin gagal"
exit -1
fi
2. Buat program yang memeriksa nama direktori, jika parameter tersebut adalah
direktori, maka jalankan instruksi ls –ld pada direktori tersebut. Namakan
program tersebut checkdir.sh. Gunakan notasi [ -d NamaDirektori ] dan pilih
logical && atau || pada level shell.
#!/bin/sh
if [ $# -ne 1 ]
then
echo "Error, usage: checkdir.sh DirectoryName"
exit -1
fi
dirname=$1
[ -d $dirname ] && ls -ld $dirname
3. Dengan shell script pph.sh, hitung PPH per tahun dengan ketentuan
sebagai berikut :
- 10 juta pertama PPH 15%
- 25 juta berikutnya (sisa) PPH 25%
- Bila masih ada sisa, maka sisa tersebut PPH 35%
Contoh :
Gaji 8 juta
PPH = 15% * 8 juta
Gaji 12 juta
PPH =15% * 10 juta + 25% * (12-10) juta
Gaji 60 juta
PPH = 15% * 10 juta + 25% * 25 juta + 35% * (60-10-25) juta
Debugging : untuk melakukan tracing (debug) gunakan opsi –x pada
eksekusi shell.
#!/bin/sh
echo -n "Gaji ? "
read gaji
if [ $gaji -le 10000000 ]
then
ppn1=`expr $gaji \* 15 / 100`
ppn2=0
ppn3=0
else
gaji=`expr $gaji - 10000000`
if [ $gaji -le 25000000 ]
then
ppn1=`expr 10000000 \* 15 / 100`
ppn2=`expr $gaji \* 25 / 100`
ppn3=0
else
ppn1=`expr 10000000 \* 15 / 100`
ppn2=`expr 25000000 \* 25 / 100`
gaji=`expr $gaji - 25000000`
ppn3=`expr $gaji \* 35 / 100`
fi
fi
ppn=`expr $ppn1 + $ppn2 + $ppn3`
echo "PPN = $ppn"
wow tidak ada pembahasannya
BalasHapushahaha
BalasHapus