Possible Duplicate:
Unix “find” command usage
Бұл орнату нұсқаулығы үшін. Foo.sh сценарийі «ДИРЕКТОРДЫ» дәлел ретінде қабылдайды. Айталық, бар/TEST/TEST_1A/TEST_2A/TEST_3 және басқа dir/TEST/TEST_1B/TEST_2B/TEST_3.
Сценарий: foo.sh қысқаша.
DIR=`find $HOME -type d -name $1 | head 1'
if [ DIR is set to a directory ]
then
rm -rf $DIR
Пайдалану: foo.sh TEST_3
Енді сценарийден тек/TEST/TEST_1A/TEST_2A/TEST_3 жойылуы мүмкін./TEST/TEST_1B/TEST_2B/TEST_3 алып тастау үшін, каталогты қақтығысты шешу үшін алып тастауды баптау үшін, пәрмен жолында reg exp сөзін пайдалануым керек.
Жоғарыда көрсетілген сценарийдің табу бөлігін төмендегідей өзгертіңіз
DIR='find $HOME -type d -regexp $1 | head 1
NEW пайдалану: foo.sh TEST_2B/TEST_3
But "find" command FAILS to get the DIR set to /TEST/TEST_1B/TEST_2B/TEST_3 and instead returns empty & as a result DIR is empty and I can never ever remove /TEST/TEST_1B/TEST_2B/TEST_3
Сценарийді қалай өзгертуге болады, сонда іздеу табулятордың атауы, сондай-ақ каталогтың жолында да NO мәселелерінде әрекет етуі мүмкін. Infact, кейбір пайдаланушылар ішінара каталог жолын «foo.sh» дәлел ретінде бере алады. Мен «foo.sh» -тің осындай жағдайларда да жұмыс істейтінін күтемін