GNU/Linux >> Znalost Linux >  >> Linux

Jak zkontrolovat, zda řetězec obsahuje speciální znak ([email protected]#$%^&*()_+)

Toto je přenosné pro Dash et al. a IMHO elegantnější.

case $str in
  *['!&()'@#$%^*_+]* ) echo yup ;;
esac

Porovnejte to s globem. Musíte pouze escapovat znaky, které shell jinak považuje za speciální:

#!/bin/bash
str='some text with @ in it'
if [[ $str == *['!'@#\$%^\&*()_+]* ]]
then
  echo "It contains one of those"
fi

Linux
  1. Jak použít speciální znak jako normální v unixových shellech?

  2. Jak zkontrolovat historii přihlášení k systému Linux

  3. Zkontrolujte, zda řetězec obsahuje podřetězec v Pythonu

  1. Jak zkontrolovat, zda řetězec obsahuje podřetězec v Bash

  2. Jak rozbalit 80znakový text

  3. Jak mohu zkontrolovat doslovné znaky řetězce příkazu bash?

  1. Jak zkontrolovat verzi Redhat

  2. Jak zkontrolovat časové pásmo v Linuxu

  3. Jak zkontrolovat syntaxi sudoers