Re: [ssfr] Re: [SSFR] Partage de fonctions ... |
[ Thread Index |
Date Index
| More debianworld.org/shellscript-fr Archives
]
* Marc Chantreux <marc.chantreux@xxxxxxxxxxxxxxxxxx> [2008-04-08 14:14:32 +0200] wrote :
> salut Edi,
plop ;)
> > newf() {
>
> Je vois ce que ca fait mais pas a quoi ca sert
M'en sert comme pense bete / post-it ... je suis toujours en train de reflechir a
de nouvelles idees ...
> > lowercase() {
>
> pourquoi tu fais une fonction pour ca ? pourquoi ne pas utiliser (L)
> quand tu en a besoin?
Ouais en effet ... zsh a pas mal d'options interessantes mais je n'ai
pas eu le temps de toutes les regarder ;)
> > space2underline()
> > {
> > for a in ./**/*\ *(Dod); do mv $a ${a:h}/${a:t:gs/ /_}; done
> > }
>
> tu connais la syntaxe alternative ?
> space2underline() {
> for f (**/*\ *(Dod)) mv $a ${a:h}/${a:t:gs/ /_}
> }
Interessant ;)
> J'aurais tendance a chercher une solution avec zmv mais je ne sais pas
> comment il gere le (Dod).
>
> > function kernel()
> > {
> > printf 'GET /kdist/finger_banner HTTP1.0\n\n' | nc www.kernel.org 80 |
> > grep latest
> > }
>
> sympa, l'idée d'utiliser nc comme un client http light! du coup, j'ai
> regardé du coté du module tcp de zsh et viens de pondre ca:
>
> http_req () {
> # usage:
> # HTTP_VERSION=1.1 http_req get /
> # http_req head /index.html
>
> local eol req
> eol="\n"
> # real http eol (os independant) eol="\x0d\x0a" only server side ?
>
> # http request must be uppercase
> req=${(U)1}
> shift
> # always send HTTP version (1.0 by default)
> print -n -- "$req $* HTTP/${HTTP_VERSION:-1.0}$eol$eol"
>
> }
>
> http_simple () {
>
> # usage:
> # http_simple hostname[:port] http_req_params
> # default port value is 80
>
> local host port fd
>
> # parse the first arg
> IFS=: read host port <<< $1
> shift
>
> # try to silently load net/tcp
> zmodload zsh/net/tcp 2>/dev/null
>
> # open connection
> ztcp $host ${port:-80}
> fd=$REPLY
>
> # send http request to connection
> http_req "$@" >&$fd
>
> # read the result
> cat <&$fd
> }
>
> available_kernel_versions () {
> http_simple www.kernel.org:80 get /kdist/finger_banner |
> sed -n '
> s/^The latest //
> T
> s/\(.*\)is:\s\+\(.*\)/\2 \1/
> p
> '
> }
sympa mais ma ligne est plus courte :P
--
.. ''`. (\___/) E d i S T O J I C E V I C
: :' : (='.'=) http://www.debianworld.org
`. `~' (")_(") GPG: 0x1237B032
`-
---