我有文字
www.page.com
www.page1.com
www.page2.com
我需要一个函数来运行特定文本的特定脚本。当 text = www.page.com 时运行脚本 1,当 page2 时运行脚本 2,当 page3 时运行脚本 3,该脚本是指同一文件中的代码段。
如果文本 = www.page.com 则运行
page(){
while true; do
echo "page"
done
}
如果文本 = www.page2.com 则运行
page2(){
while true; do
echo "page2"
done
}
如果文本 = 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 主机名而不启动正确的功能,这应该启动另一个功能取决于 URL,如 google.com 启动 google.com 功能
答案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