Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: k0tka в May 25, 2012, 16:10



Титла: shell script с параметри
Публикувано от: k0tka в May 25, 2012, 16:10
Моля за малко помощ относно шел скрипт.
Целта е да се изпълни команда от типа:
find /home/ -type f | xargs cat
като пътя типа и командата cat се въвеждат като параметри при изпълнение на скрипта:
./script.sh -f или -d -c команда път
./script.sh -f -c cat /home/ivan/documents/

Идеята ми е как могат да се вземат -f или -d  и команда път?

Нарочно не давам моите опити или цялата задача която искам да направя, тъй като не искам готово решение а обяснение което да разбера, тъй като не успявам да се оправя с getopts например.
Благодаря!


Титла: Re: shell script с параметри
Публикувано от: k0tka в May 25, 2012, 20:23
Оправих се с getopts и прилагам един пример за тези като мен  [_]3 :

#!/bin/bash
files=false
dirs=false
while getopts "f d c:" OPTION ;
do
case "$OPTION" in
f) files="true" ;;
d) dirs="true" ;;
c) command="$OPTARG" ;;
\?) echo "$help" ;
exit 1
;;
esac
done
echo "f is \"$files\""
echo "d is \"$dirs\""
echo "command is \"$command\""

Прилагам и изхода:
$ ./test.sh -f -c cat
f is "true"
d is "false"
command is "cat"