문자가 있어요
www.page.com
www.page1.com
www.page2.com
특정 텍스트로 특정 스크립트를 실행하는 기능이 필요합니다. text = www.page.com일 때 스크립트 1이 실행되고, page2일 때 스크립트 2가 실행되고, page3일 때 스크립트 3이 실행됩니다. 이 스크립트는 동일한 파일의 코드 세그먼트를 참조합니다.
text = www.page.com이면 다음을 실행합니다.
page(){
while true; do
echo "page"
done
}
text = www.page2.com이면 다음을 실행합니다.
page2(){
while true; do
echo "page2"
done
}
text = www.page3.com이면 다음을 실행합니다.
page3(){
while true; do
echo "page3"
done
}
모든 코드는 동일한 스크립트 파일에 있어야 합니다.
파일: update_photo_list 파일
https://google.com/some/url/ >/path/to/save/
이건 내 스크립트야
dl_url(){
while true; do
while IFS='>' read -r website_url gallery_dir; do
echo "Downloading $website_url"
echo "To $gallery_dir"; sleep 1
mkdir -p ./update_photo_temp/
wget --quiet $website_url -P ./update_photo_temp/
## If $website_url = to function then run function
for i in $website_url; do
echo $i | awk -F '/.' '{print $2}' | xargs
done
done < ./update_photo_list
done
}
google.com(){
while true; do
echo "blah blah blah"
done
}
올바른 기능을 시작하지 않고 URL 호스트 이름만 인쇄합니다. 이는 google.com이 google.com 기능을 시작하는 것처럼 URL에 따라 다른 기능을 시작해야 합니다.
답변1
for
루프를 사용해 보세요 :
page(){
while true; do
echo "page"
done
}
page2(){
while true; do
echo "page2"
done
}
page3(){
while true; do
echo "page3"
done
}
for i in `cat /path/to/url.txt`
do
echo $i | awk -F '.' '{print $2}' | xargs
done