Kako lahko primerjam dve spremenljivki z nizom v stavku 'if' v programu Bash?
V Bash (uporabljam Ubuntu) skušam doseči, da bi izjava if
delovala:
#!/bin/bash
s1="hi"
s2="hi"
if ["$s1" == "$s2"]
then
echo match
fi
Poskusil sem različne oblike izjave if
, z uporabo [["$s1" == "$s2"]]
, z narekovaji in brez njih, z uporabo =
, ==
in -eq
, vendar še vedno dobim naslednjo napako:
[hi: ukaza ni bilo mogoče najti
Ogledal sem si različna spletna mesta in navodila ter jih kopiral, vendar ne deluje - kaj delam narobe?
Na koncu želim povedati, ali $s1
vsebuje $s2
, kako naj to storim?
Pravkar sem razvozlal del s presledki... :/ Kako naj rečem vsebuje?
Poskusil sem
if [[ "$s1" == "*$s2*" ]]
vendar ni delovalo.
568
3
Potrebujete prostore:
Predlagam:
Brez dvojnih narekovajev in samo z enim enakim.
Trenutno nimam dostopa do linuxa, vendar je [ pravzaprav program (in vgrajeni program bash), zato mislim, da morate med [ in prvim parametrom postaviti presledek.
Upoštevajte tudi, da se zdi, da je operator enakosti nizov en sam =