Le 20/12/2025 à 19:20, Didier Kryn a écrit :
> Le 20/12/2025 à 16:31, Peter via Dng a écrit :
>> From: Didier Kryn<kryn@???>
>> Date: Thu, 18 Dec 2025 11:17:07 +0100
>>> lsblk -o NAME,UUID
>> Then check for a specific device.
>> if (lsblk -o UUID | grep "40d81969-8f9d-4964-b214-87bcf273192a" | wc -c)=37 ; then
>> echo device present
>> else
>> echo device not present
>> fi
>>
>> The if condition has 3 commands, lsblk, grep and wc. I'm working on
>> something more direct.
>>
>> The findmnt manual has this under EXIT STATUS.
>> The exit value is 0 if there is something to display, or 1 on any
>> error (for example if no filesystem is found based on the user's
>> filter specification, or the device path or mountpoint does not
>> exist).
>>
>> if [ findmnt -nrS UUID=$workingVolume ]; then
>> echo "$workingVolume is not mounted"
>> else
>> echo "$workingVolume is mounted"
>> fi
>>
>> The if condition has a syntax error. Can someone suggest a fix?
>>
>> From: Didier Kryn<kryn@???>
>> Date: Thu, 18 Dec 2025 11:57:31 +0100
>>> ... RTFM (~:
>> I'm aware of manuals and the old RTFM cliche. The implicit types in
>> bash tend to confuse me. In this instance, I don't know which manual
>> might help.
>
> lsblk -alno UUID | grep -c "40d81969-8f9d-4964-b214-87bcf273192a"
>
> is only two commands.
>
> Alternatively:
>
> if lsblk -alno UUID | grep -q "40d81969-8f9d-4964-b214-87bcf273192a";
> then printf "yes\n"; else echo printf "No\n"; fi;
>
>
if lsblk -alno UUID | grep -q "40d81969-8f9d-4964-b214-87bcf273192a";
then printf "yes\n"; else printf "No\n"; fi;
There was typo (echo). printf is better than echo because it is a
built-in shell command.