Gestore di segnalibri per terminale

Autore: Fabio Di Matteo
Ultima revisione: 23/01/2025 - 09:45

Un rudimentale gestore di segnalibri per terminale. I segnalibri vengono salvati in '$HOME/terminali' dentro un primo livello di cartelle che fungono da gruppi. Fine.

#!/usr/bin/bash
 
 
TERM="xfce4-terminal --tab -e"
 
T=$(zenity --title="Scegli categoria" --list --text="Scegli una categoria ($HOME/terminali) " --column="Nome categoria" `ls $HOME/terminali/`)
 
if [ -z "$T"  ];then
	exit
fi
 
B=$(zenity --title="Scegli termiale" --list --text="Scegli un terminale da avviare. Il file deve risiedere in $HOME/terminali " --column="Nome terminale" `ls $HOME/terminali/$T`)
 
if [ -z "$B"  ];then
	exit
fi
 
bookmark=$(cat $HOME/terminali/$T/$B)
exec $TERM "$bookmark"

nel segnalibro in $HOME/terminali metteremo solo un file di testo col comando da avviare, ad eempio:

$HOME/terminali/mycategory/myremotepc.sh

ssh user@192.168.0.45

Versione testuale

#!/usr/bin/env python3
import os
os.system("clear")
print("\nScegli la categoria del terminale:\n")
 
 
root = '/home/fabio/terminali'
nline=0
lcat=[]
for filename in os.listdir(root):
	file_path = os.path.join(root, filename)
	if os.path.isdir(file_path):
		lcat.append(filename)
		print(f'{nline} : {filename}')
		nline=nline+1
try:
	ncat=int(input("\nNumero categoria-> "))
	print("hai scelto %s" % lcat[ncat]  )
except:
	print("Errore")
	exit(-1)
 
subdir=root+os.sep+lcat[ncat]
nline=0
lobj=[]
for filename in os.listdir(subdir):
	file_path = os.path.join(subdir, filename)
	if os.path.isfile(file_path):
		lobj.append(filename)
		print(f'{nline} : {filename}')
		nline=nline+1
try:
	nobj=int(input("\nCollegati a -> "))
	print("hai scelto %s" % lobj[nobj]  )
	file_cmd = open(subdir+os.sep+lobj[nobj], 'r')
	cmd = file_cmd.read()
	file_cmd.close()
	os.system("clear")
	os.system(cmd)
 
except:
	print("Errore")
	exit(-1)