dotfiles リポジトリをホーム ディレクトリに同期するためのシェル スクリプトを作成しました。これは Cygwin (zsh) では正常に動作していましたが、Linux (Xubuntu 12.10 の zsh) に移行したばかりで失敗しています。
スクリプトは、リポジトリ内の関連するドットファイルのリストを作成し、シンボリック リンクを作成する前に、衝突をアーカイブします。アーカイブ ルーチンは次のとおりです。
for i in $dotFiles; do
toArchive=$toArchive $(ls -d $i)
done
$dotfiles
のアイテムが存在しない場合、これは失敗します。ls
戻りNo such file or directory
、スクリプトは終了します。
これを解決するためにリダイレクトstderr
しますか? /dev/null
すなわち:
for i in $dotFiles; do
toArchive=$toArchive $(ls -d $i 2>/dev/null)
done
...またはより良い解決策はありますか?
(完全を期すために、私のスクリプトはhereです。)