Пожааалуйста помогите!Никогда не имела дела с UNIX!!!!!Задание:
UNIX (bash). Дан файл “filename”. Получить наименьшее и наибольшее значение в столбце с номером n. Имя файла и номер столбца должны передаваться в качестве параметров командной строки. В случае неправильного вызова должна выводиться справка об использовании скрипта.
вот скрипт
#!/bin/bash
a=2
b=$1
c=$2
f=$(cat $b |head -1| awk '{nf=nf+NF} END {print nf}')
if [[ $# -ne "$a" || "$c" -gt "$f" ]] ; then
echo
echo "Help!"
echo "Количество аргументов командной строки должно быть = $a!"
echo "Второй параметр = номер столбца - не должен превышать максимальное число столбцов"
echo "Первый параметр = имя файла - должен существовать"
echo "It's necessary to write options using space"
echo "License number v.2.5"
exit
fi
d=$(cat $b | awk {' print $'$c' '} | sort -n | head -1)
e=$(cat $b | awk {' print $'$c' '} | sort -n | tail -1)
echo " Минимальное число = $d"
echo " Максимальное число = $e"
exit
Проблема в том, что если я вызываю скрипт и не ввожу аргументы вообще, мне не выводится справка об использовании скрипта...хотя по идее условие $# -ne "$a" должно учитывать этот случай...
заранее спасибо!!