自己署名証明書を持つサーバーから複数のイメージをダウンロードして使用したいですfeh
。単一のコマンドでこれを実行できますか?同様curl -sk -b path_to_session_token url1 url2 | feh -
-feh
ファイルの 1 つだけを提供する点を除いて。ファイルとして保存しないで、後で削除することをお勧めします。
答え1
feh
一部の「プロトコル」が実装されていない場合、標準入力に送信された複数の画像を区別する方法はありません。
一時ファイルを使用したくない場合は、ループを使用できます。
for url in 'url1' 'url2'; do
curl -skb token "$url" | feh -
done
これにより、各画像が順番にダウンロードされ表示されます。欲しいなら「同時に」、少しアンパサンドを追加します。
for url in 'url1' 'url2'; do
(curl -skb token "$url" | feh - &)
done
すべてを1行に入力するか、関数を定義できます。
$ for url in 'url1' 'url2'; do curl -skb token "$url" | feh -; done
$ for url in 'url1' 'url2'; do (curl -skb token "$url" | feh - &); done
function feh_urls
{
for url; do
curl -skb token "$url" | feh -
done
}
$ feh_urls 'url1' 'url2'
URLやパスに面倒なスペースがある場合がありますので、引用にはご注意ください。(…上記の例でそんなミスをしなかったらと思います…)。関数が必要な場合は、関数に追加することで、.bashrc
毎回手動で再定義することなくシェルで使用できます。
完全性を期すために、ここにいくつかの一時ファイルに関連する小さなスクリプト(もちろん関数にすることができます)があり、いくつかの一時ファイルとcurl
プロセスfeh
を保存します。バージョンに応じて代わりにwget
使用しました。curl
リモートファイル名を正しくインポートできない可能性があります。(もちろん、画像に別の名前を付けることもできます。)
#!/bin/bash
img_dir=$(mktemp -d)
cd $img_dir
wget -q --no-check-certificate --load-cookie token "$@"
feh $img_dir/*
rm -r $img_dir
使用法:
$ ./feh_urls.sh 'url1' 'url2'
ここでの利点は、feh
何度も生成されるのではなく、すべての画像を一度にロードできることです(矢印キーを使用してナビゲート)。
また、これに興味がある可能性がありますこのページクッキーの管理についてより多くの情報が必要な場合wget
、またはこのページSSL/TLS オプションの追加情報