oriolrius.cat

Des del 2000 compartiendo sobre…

Tag: shell

Screen tips: més d’un usuari en una sessió

Reading time: 2 – 2 minutes

Quan vaig descobrir la comanda screen la vaig trobar potentíssima. Ben aviat me’n vaig enamorar, el que no m’hagués pensat mai és que es podrien fer coses tan interessants com les que explica l’article: Using screen for remote interaction (local). Per exemple, podem deixar una sessió oberta d’screen i accedir-hi des de més d’un client de forma simultanea. Tan en mode lectura, només veure el que hi ha, com escriptura, poder modificar en temps real el que conté el terminal virtual d’screen simultaneament des de més d’un lloc. Com us podeu imaginar això és ideal, per exemple, per poder ensenyar-li a algú com es fa alguna cosa.

Resum de comandes per tal de llençar una sessió d’screen i connectar-la en remot en mode lectura i escriptura:

1. Sessió principal: Cal que el binari /usr/bin/screen estigui setuid root.
2. Sessió principal: llencem screen: screen -S nom_sessio
3. Sessió secundària: connectem al PC de la 'sessió principal' amb SSH.
4. Sessió principal: Crt-a :multiuser on
5. Sessió principal: Crt-a :acladd loginID
6. Sessió secundària: screen -x usuari/nom_sessio

A més per si això fos poc, també podem grabar la sessió amb tots els moviments de cursor a través del propi screen sense haver d’usar comandes, com ara script.

Resum de comandes per grabar una sessió amb screen:

screen -S nom_sessio -L
o bé quan estem en una sessió:
Crt-a H

Cal recordar que igual que passa amb la comanda script, screen tampoc suporta els caràcters d’escapament ANSI que permeten mostrar colors a la pantalla. Per tant, si el nostre ls és amb colorets no funcionarà, cal que fem això per solucionar-ho: alias ls=’ls –color=none’.

Shell scripts: eliminar extensió del nom d’un fitxer (bash)

Reading time: 1 – 2 minutes

Quan fem shell scripts tenim la necessitat d’extreure l’extensió dels fitxers i ens acostumem, almenys en el meu cas, a fer experiments amb l’ordre cut i d’altres similars intentant treure alguna solució que ens permeti fer això. El més dur és descobrir que sabies com fer-ho d’una forma ràpida i neta. Això és el que em va passar revisant un article que jo mateix havia referenciat: Shell Scripts.

Doncs bé anant al que interessa per extreure una extensió, per exemple .jpg l’únic que em de fer és això:

${FITXER%.jpg}

Perquè us quedi clar, ho pdriem usar en aquest exemple útil:

#!/bin/sh
for FITXER in `ls *gif`
do
        F=`echo ${FITXER%.gif}`
        echo convert $F.gif $F.jpg
done

Com segur que heu descovert el que ens permet fer aquest petit script és convertir tots els fitxers *.gif a *.jpg