#!/bin/bash
hello()
{
SRC=$1
DEST=$2
for IP in `cat /opt/ankit/configs/machine.configs` ; do
echo $SRC | grep '*' > /dev/null
if test `echo $?` -eq 0 ; then
for STAR in $SRC ; do
echo -en "$IP"
echo -en "\n\t ARG1=$STAR ARG2=$2\n\n"
done
else
echo -en "$IP"
echo -en "\n\t ARG1=$SRC ARG2=$DEST\n\n"
fi
done
}
hello $1 $2
以上是我提供源代碼(SRC)& desitnation(DEST)路徑的shell腳本。當我沒有使用通配符''放入SRC路徑時,它工作正常。當我運行此shell腳本,並給予 '' 的.pdf或 '*',如下所示:如何正確處理bash shell腳本中的通配符擴展?
[email protected]:~/as_prac# ./test.sh /home/dev/Examples/*.pdf /ankit_test/as
我得到以下輸出:
192.168.1.6
ARG1=/home/dev/Examples/case_Contact.pdf ARG2=/home/dev/Examples/case_howard_county_library.pdf
的DEST是/ ankit_test /但DEST還由於'*'而被修改。預期的答案是
ARG1=/home/dev/Examples/case_Contact.pdf ARG2=/ankit_test/as
所以,如果你明白我在做什麼,請幫我解決這個BUG。 我會很感激你。
在此先感謝!
我需要知道我在程序中如何使用'* .pdf',而不會打擾DEST。
嘿爲什麼一個下降??? – iankits 2008-11-03 12:02:14