Я пытаюсь создать docsets для Dash, следуя этим инструкциям: http://kapeli.com/docsets. Проблема заключается в том, что сценарий не продолжается после wget и не вызывает никаких ошибок. Все работает нормально, когда я копирую сценарий в терминал.bash script не заканчивается
Я использую MacOS 10.8.4 и по умолчанию bash.
#!/usr/bin/env bash
set -e
mkdir -p $1.docset/Contents/Resources/Documents/
wget -rkp -l3 -np -nH --cut-dirs=1 --directory-prefix="./"$1".docset/Contents/Resources/Documents/" $2
echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>'$1'</string>
<key>CFBundleName</key>
<string>'$1'</string>
<key>DocSetPlatformFamily</key>
<string>'$1'</string>
<key>isDashDocset</key>
<true/>
</dict>
</plist>' > $1.docset/Contents/Info.plist
touch $1.docset/Contents/Resources/docSet.dsidx
sqlite3 $1.docset/Contents/Resources/docSet.dsidx "
CREATE TABLE searchIndex(id INTEGER PRIMARY KEY, name TEXT, type TEXT, path TEXT);
CREATE UNIQUE INDEX anchor ON searchIndex (name, type, path);
INSERT INTO searchIndex (name, type, path) VALUES ('index', 'Guide', 'index.html');"
Wget получает довольно много ошибок 404 и возвращает статус выхода 8 (echo $?
). Фактический вопрос решается тогда, однако, я до сих пор не знаю, что с этим делать: удаление set -e
работает, прекрасно, но не кажется правильным.
Можете ли вы поделиться, какие значения используются для командной строки аргументов? – masahji