wget 是制作小型站点快速快照的绝佳工具。据我所知(我真的希望我只是在 中找不到它wget --help
), wget 只能遵循众所周知的 HTML URL 属性,例如<a href=...
,<img src=...
等等。但是,有时特定站点可能会使用表示真实 URL 的非标准属性,这些属性看起来不像 wget 的 URL。比方说,如果一个站点有一个带有缩放图像的“静态”画廊,一个特定的图像页面可能有这样的内容:
<div zoomed_img="/gallery/image.jpg">
<img src="/gallery/image_small.jpg"/>
</div>
Run Code Online (Sandbox Code Playgroud)
因此, wget 忽略zoomed_img
带有的属性/gallery/image.jpg
。我的 wget 命令是:
wget --recursive \
--domains domain \
--no-parent \
--page-requisites \
--no-clobber \
--html-extension \
--convert-links \
http://domain/gallery
Run Code Online (Sandbox Code Playgroud)
是否可以让 wget 遵循自定义 URL HTML 属性?
我的配置的想法PS1
是显示一些扩展信息,例如 Mercurial 或 Git 存储库状态、命令执行时间等。提示符被分成两行,因为它产生太多字符而无法放入一行。这是我PS1
的.bashrc
(不确定这里是否需要整个源代码):
function prompt_status {
local color_app="\e[1;38;5;214m"
local color_branch="\e[1;38;5;32m"
local color_revision="\e[0;38;5;64m"
if git rev-parse --is-inside-work-tree &> /dev/null; then
local branch="$(git rev-parse --abbrev-ref HEAD | tr -d '\n')"
local revision="$(git rev-parse HEAD | tr -d '\n')"
echo -ne $color_app"git "$color_branch"$branch "$color_revision"($revision)"
elif hg status &> /dev/null; then
local branch="$(hg branch | tr -d '\n')"
local revision_number="$(hg identify -n | tr -d '\n')"
local revision="$(hg parent --template '{node}' | tr -d '\n')"
echo …
Run Code Online (Sandbox Code Playgroud)