我是编程bash脚本(Linux,Debian)的初学者,我想写的一个用途是让用户能够从他需要的网站下载JPG或任何其他类型的图形文件,例如./code1.sh www.bbc.com
。它不解释网站地址,错误显示:there is no such a file or catalog like www.bbc.com
。你能告诉我我做错了什么吗?
#!/bin/bash
$1
curl $1 | grep -o -e `$1.\{1,100\}\.jpg` > graph_list.txt
wget `cat graph_list.txt`
答案 0 :(得分:1)
使用简化的正则表达式尝试此行。这将获得所有图片(我不确定我是否完全理解您要如何过滤):
curl www.bbc.com | grep -o -e 'http[^"]*\.jpg' | xargs wget
由于您用来包装正则表达式的反引号(`
),因此问题中发布的代码无效。反叛触发器在Bash中触发命令替换,就像你在最后一行中故意做的那样,使用引号('
)来防止标记化和扩展或双引号("
)来防止标记化。