• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af bigblop | 12.03.2008 15:34

Logiske operatorer i Bash?

Hjælp generelt
Jeg vil gerne tjekke om en variable indholder bob eller pop:

app=bob

if [ [ $app = "pop" ] || [ $app = "bob" ] ];then
echo $app
fi


Men det giver fejlen:

./test: line 30: [: too many arguments
./test: line 30: [: too many arguments


Jeg har prøvet at flytte rundt på '[' og ']' på alle tænkelige måder men det bliver ved med at give en fejl. Hvordan laver man ovenstående korrekt?
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer4

# 1

17 år 11 måneder siden

Permalink

Indsendt af julemand101 den 12. marts 2008 kl. 15:48

Permalink

Re: Logiske operatorer i Bash?

Du skal bruge -eq for "="
  • Log ind eller opret dig for at tilføje kommentarer

# 2

17 år 11 måneder siden

Permalink

Indsendt af bigblop den 12. marts 2008 kl. 16:03

Permalink

Re: Logiske operatorer i Bash?

Det her gjorde tricket:

app=bob
if [ $app = "pop" ] || [ $app = "bob" ];then
echo $app
fi

Men hvorfor skal jeg bruge -eq i stedet for = ? Ovenstående virker fint.
  • Log ind eller opret dig for at tilføje kommentarer

# 3

17 år 11 måneder siden

Permalink

Indsendt af divineant den 12. marts 2008 kl. 21:14

Permalink

Re: Logiske operatorer i Bash?

-eq er til numeriske sammenligninger, = er til streng sammenligning.
  • Log ind eller opret dig for at tilføje kommentarer

# 4

17 år 11 måneder siden

Permalink

Indsendt af bigblop den 13. marts 2008 kl. 17:11

Permalink

Re: Logiske operatorer i Bash?

Ok men så er det vel også korrekt at bruge '=' i ovenstående eksempel da der netop sammenlignes på strenge.
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

Openmediavault 0
GRUB 2.14 introducerer understøttelse af EROFS, forbedringer til Btrfs og LVM 0
KDE Plasma 6.6 tilføjer en funktion, som brugerne har spurgt efter i evigheder 0
Linux i København 12.01.2026: Open source i det offentlige 0
Dansk distro Omarchy 0

Seneste aktivitet

E-mail blues 9
Driver til min scanner? 5
Printer Epson ET-2865 problem 16
Sudo 7
Thunderbird filvedligeholdelse 2
BigLinux 1
rsync og filsystem 4
Debian 13.3.0 8
Linux Mint 22.3 - hvornår opdatere? 10
Canon-printer: Jeg savner "Ink-Toner Level"-meddelelse 10
billede af nuværende installation 2
mapper 4
LinuxIn live 9
Linux Debian på ekstern HD 4
usb disk *LØST* 2
Pacman kunne erstattes af en anden Rust baseret mulighed 1
Epson skanner software 8
Debian 1
Winboat 4
Nu kan man skrive private beskeder 14

© 2026 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !