On Wed, Jun 02, 2021 at 12:28:21PM +0200, Filippo Dal Bosco - wrote: > Ho uno script > ---------------------------------------- > > #!/bin/bash > > FD=$(fdisk -l | egrep /dev/sda7) > EC="/dev/sda7 934914048 1000214527 65300480 31,1G Linux swap" > > echo "---Le due stringhe---" > echo "---stringa da fdisk -l ----" > echo $FD > echo "--- stringa come deve essere per /dev/sda7 ---" > echo $EC > echo ---------------------- > > # > if [ "$FD" = "$EC" ]; then > .... > ... > else > .... > ... > fi > --------------------------------------- > che non funziona.
cat prova.sh #!/usr/bin/env bash fd=$(/sbin/fdisk -l | grep sda7) ec="/dev/sda7 197736448 206133247 8396800 4G Linux swap" echo "---Le due stringhe---" echo "---stringa da fdisk -l ----" echo "$fd" echo "--- stringa come deve essere per /dev/sda7 ---" echo "$ec" echo ---------------------- if [ "$fd" = "$ec" ]; then echo 'so uguali' else echo 'so diverse' fi ./prova.sh ---Le due stringhe--- ---stringa da fdisk -l ---- /dev/sda7 197736448 206133247 8396800 4G Linux swap --- stringa come deve essere per /dev/sda7 --- /dev/sda7 197736448 206133247 8396800 4G Linux swap ---------------------- so uguali Liberati dal male, dal pudore, non usare puntini di sospensione e altre forme di auto censura. Invia lo scritto per intero. > Quando parte mi fa vedere le due stringhe come uguali ma poi esegue > "else" > > Suppongo che sia dovuto al fatto che fdisk ( o egrep) produce una > stringa con caratteri non visibili . Esiste un "trim" per eliminarli > e far diventare la stringa $FD di fdisk uguale a $EC ? Partendo dal fatto che a me funziona sarei tentato di escludere questo scenario, anche se passare per fdisk lo trovo un approccio poco elegante. È un esercizio? > grazie > > > -- > Filippo -- Felipe Salvador