# Swedish translation of bash
# Copyright © 2008, 2009 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
# Göran Uddeborg <goeran@uddeborg.se>, 2008, 2009.
#
# $Revision: 1.6 $
#
msgid ""
msgstr ""
"Project-Id-Version: bash 4.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-30 08:25-0500\n"
"PO-Revision-Date: 2009-03-25 19:35+0100\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: arrayfunc.c:50
msgid "bad array subscript"
msgstr "felaktigt vektorindex"

#: arrayfunc.c:313 builtins/declare.def:481
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: det går inte att konvertera en indexerad vektor till associativ"

#: arrayfunc.c:480
#, c-format
msgid "%s: invalid associative array key"
msgstr "%s: ogiltig nyckel till associativ vektor"

#: arrayfunc.c:482
#, c-format
msgid "%s: cannot assign to non-numeric index"
msgstr "%s: det går inte att tilldela till ickenumeriska index"

#: arrayfunc.c:518
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: måste använda index vid tilldelning av associativ vektor"

#: bashhist.c:383
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: det går inte att skapa: %s"

#: bashline.c:3457
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
"bash_execute_unix_command: det går inte att hitta en tangentbindning för "
"kommandot"

#: bashline.c:3543
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: första ickeblanka tecknet är inte '\"'"

#: bashline.c:3572
#, c-format
msgid "no closing `%c' in %s"
msgstr "ingen avslutande \"%c\" i %s"

#: bashline.c:3606
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: kolonseparator saknas"

#: builtins/alias.def:132
#, fuzzy, c-format
msgid "`%s': invalid alias name"
msgstr "\"%s\": ogiltigt tangentbindningsnamn"

#: builtins/bind.def:120 builtins/bind.def:123
msgid "line editing not enabled"
msgstr "radredigering är inte aktiverat"

#: builtins/bind.def:206
#, c-format
msgid "`%s': invalid keymap name"
msgstr "\"%s\": ogiltigt tangentbindningsnamn"

#: builtins/bind.def:245
#, c-format
msgid "%s: cannot read: %s"
msgstr "%s: det går inte att läsa: %s"

#: builtins/bind.def:260
#, c-format
msgid "`%s': cannot unbind"
msgstr "\"%s\": det går inte att avbinda"

#: builtins/bind.def:295 builtins/bind.def:325
#, c-format
msgid "`%s': unknown function name"
msgstr "\"%s\": okänt funktionsnamn"

#: builtins/bind.def:303
#, c-format
msgid "%s is not bound to any keys.\n"
msgstr "%s är inte bundet till några tangenter.\n"

#: builtins/bind.def:307
#, c-format
msgid "%s can be invoked via "
msgstr "%s kan anropas via "

#: builtins/break.def:77 builtins/break.def:117
msgid "loop count"
msgstr "slingräknare"

#: builtins/break.def:137
msgid "only meaningful in a `for', `while', or `until' loop"
msgstr "endast meningsfullt i en \"for\"-, \"while\"- eller \"until\"-slinga"

#: builtins/caller.def:133
msgid ""
"Returns the context of the current subroutine call.\n"
"    \n"
"    Without EXPR, returns "
msgstr ""
"Returnera kontexten för det aktuella subrutinanropet.\n"
"    \n"
"    Utan UTTR, returnerar "

#: builtins/caller.def:135
msgid ""
".  With EXPR, returns\n"
"    "
msgstr ""

#: builtins/caller.def:136
msgid ""
"; this extra information can be used to\n"
"    provide a stack trace.\n"
"    \n"
"    The value of EXPR indicates how many call frames to go back before the\n"
"    current one; the top frame is frame 0."
msgstr ""

#: builtins/cd.def:215
msgid "HOME not set"
msgstr "HOME är inte satt"

#: builtins/cd.def:227
msgid "OLDPWD not set"
msgstr "OLDPWD är inte satt"

#: builtins/common.c:101
#, c-format
msgid "line %d: "
msgstr "rad %d: "

#: builtins/common.c:139 error.c:261
#, c-format
msgid "warning: "
msgstr "varning: "

#: builtins/common.c:153
#, c-format
msgid "%s: usage: "
msgstr "%s: användning: "

#: builtins/common.c:166 test.c:827
msgid "too many arguments"
msgstr "för många argument"

#: builtins/common.c:191 shell.c:499 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: flaggan kräver ett argument"

#: builtins/common.c:198
#, c-format
msgid "%s: numeric argument required"
msgstr "%s: numeriskt argument krävs"

#: builtins/common.c:205
#, c-format
msgid "%s: not found"
msgstr "%s: finns inte"

#: builtins/common.c:214 shell.c:795
#, c-format
msgid "%s: invalid option"
msgstr "%s: ogiltig flagga"

#: builtins/common.c:221
#, c-format
msgid "%s: invalid option name"
msgstr "%s: ogiltigt flaggnamn"

#: builtins/common.c:228 general.c:231 general.c:236
#, c-format
msgid "`%s': not a valid identifier"
msgstr "\"%s\": inte en giltig identifierare"

#: builtins/common.c:238
msgid "invalid octal number"
msgstr "ogiltigt oktalt tal"

#: builtins/common.c:240
msgid "invalid hex number"
msgstr "ogiltigt hexadecimalt tal"

#: builtins/common.c:242 expr.c:1256
msgid "invalid number"
msgstr "ogiltigt tal"

#: builtins/common.c:250
#, c-format
msgid "%s: invalid signal specification"
msgstr "%s: ogiltig signalspecifikation"

#: builtins/common.c:257
#, c-format
msgid "`%s': not a pid or valid job spec"
msgstr "\"%s\": inte en pid eller giltig jobbspecifikation"

#: builtins/common.c:264 error.c:454
#, c-format
msgid "%s: readonly variable"
msgstr "%s: endast läsbar variabel"

#: builtins/common.c:272
#, c-format
msgid "%s: %s out of range"
msgstr "%s: %s utanför giltigt intervall"

#: builtins/common.c:272 builtins/common.c:274
msgid "argument"
msgstr "argument"

#: builtins/common.c:274
#, c-format
msgid "%s out of range"
msgstr "%s utanför giltigt intervall"

#: builtins/common.c:282
#, c-format
msgid "%s: no such job"
msgstr "%s: inget sådant jobb"

#: builtins/common.c:290
#, c-format
msgid "%s: no job control"
msgstr "%s: ingen jobbstyrning"

#: builtins/common.c:292
msgid "no job control"
msgstr "ingen jobbstyrning"

#: builtins/common.c:302
#, c-format
msgid "%s: restricted"
msgstr "%s: begränsat"

#: builtins/common.c:304
msgid "restricted"
msgstr "begränsat"

#: builtins/common.c:312
#, c-format
msgid "%s: not a shell builtin"
msgstr "%s: inte inbyggt i skalet"

#: builtins/common.c:321
#, c-format
msgid "write error: %s"
msgstr "skrivfel: %s"

#: builtins/common.c:329
#, c-format
msgid "error setting terminal attributes: %s"
msgstr "fel när terminalattribut ställdes in: %s"

#: builtins/common.c:331
#, c-format
msgid "error getting terminal attributes: %s"
msgstr "fel när terminalattribut hämtades: %s"

#: builtins/common.c:563
#, c-format
msgid "%s: error retrieving current directory: %s: %s\n"
msgstr "%s: fel när aktuell katalog hämtades: %s: %s\n"

#: builtins/common.c:629 builtins/common.c:631
#, c-format
msgid "%s: ambiguous job spec"
msgstr "%s: tvetydig jobbspecifikation"

#: builtins/complete.def:276
#, c-format
msgid "%s: invalid action name"
msgstr "%s: ogiltigt åtgärdsnamn"

#: builtins/complete.def:449 builtins/complete.def:644
#: builtins/complete.def:853
#, c-format
msgid "%s: no completion specification"
msgstr "%s: ingen kompletteringsspecifikation"

#: builtins/complete.def:696
msgid "warning: -F option may not work as you expect"
msgstr "varning: flaggan -F fungerar kanske inte som du väntar dig"

#: builtins/complete.def:698
msgid "warning: -C option may not work as you expect"
msgstr "varning: flaggan -C fungerar kanske inte som du väntar dig"

#: builtins/complete.def:826
msgid "not currently executing completion function"
msgstr "kör inte en kompletteringsfunktion"

#: builtins/declare.def:122
msgid "can only be used in a function"
msgstr "kan endast användas i en funktion"

#: builtins/declare.def:360
msgid "cannot use `-f' to make functions"
msgstr "det går inte att använda \"-f\" för att göra funktioner"

#: builtins/declare.def:372 execute_cmd.c:4937
#, c-format
msgid "%s: readonly function"
msgstr "%s: endast läsbar funktion"

#: builtins/declare.def:468
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: det går inte att förstöra vektorvariabler på detta sätt"

#: builtins/declare.def:475
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: det går inte att konvertera en associativ vektor till indexerad"

#: builtins/enable.def:137 builtins/enable.def:145
msgid "dynamic loading not available"
msgstr "dynamisk laddning är inte tillgängligt"

#: builtins/enable.def:312
#, c-format
msgid "cannot open shared object %s: %s"
msgstr "det går inte att öppna delat objekt %s: %s"

#: builtins/enable.def:335
#, c-format
msgid "cannot find %s in shared object %s: %s"
msgstr "kan inte hitta %s i det delade objektet %s: %s"

#: builtins/enable.def:459
#, c-format
msgid "%s: not dynamically loaded"
msgstr "%s: inte dynamiskt laddad"

#: builtins/enable.def:474
#, c-format
msgid "%s: cannot delete: %s"
msgstr "%s: kan inte ta bort: %s"

#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
#: shell.c:1452
#, c-format
msgid "%s: is a directory"
msgstr "%s: är en katalog"

#: builtins/evalfile.c:139
#, c-format
msgid "%s: not a regular file"
msgstr "%s: inte en normal fil"

#: builtins/evalfile.c:147
#, c-format
msgid "%s: file is too large"
msgstr "%s: filen är för stor"

#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
#: shell.c:1462
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: det går inte att köra binär fil"

#: builtins/exec.def:212
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: kan inte köra: %s"

#: builtins/exit.def:65
#, c-format
msgid "logout\n"
msgstr "utloggning\n"

#: builtins/exit.def:88
msgid "not login shell: use `exit'"
msgstr "inte ett inloggningsskal: använd \"exit\""

#: builtins/exit.def:120
#, c-format
msgid "There are stopped jobs.\n"
msgstr "Det finns stoppade jobb.\n"

#: builtins/exit.def:122
#, c-format
msgid "There are running jobs.\n"
msgstr "Det finns körande jobb.\n"

#: builtins/fc.def:262
msgid "no command found"
msgstr "hittar inget kommando"

#: builtins/fc.def:349
msgid "history specification"
msgstr "historiespecifikation"

#: builtins/fc.def:370
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: det går inte att öppna temporärfil: %s"

#: builtins/fg_bg.def:149 builtins/jobs.def:282
msgid "current"
msgstr "aktuell"

#: builtins/fg_bg.def:158
#, c-format
msgid "job %d started without job control"
msgstr "jobb %d startade utan jobbstyrning"

#: builtins/getopt.c:110
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: ogiltig flagga -- %c\n"

#: builtins/getopt.c:111
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: flaggan kräver ett argument -- %c\n"

#: builtins/hash.def:92
msgid "hashing disabled"
msgstr "hasning avslaget"

#: builtins/hash.def:138
#, c-format
msgid "%s: hash table empty\n"
msgstr "%s: hashtabellen tom\n"

#: builtins/hash.def:244
#, c-format
msgid "hits\tcommand\n"
msgstr "träffar\tkommando\n"

#: builtins/help.def:130
#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
msgstr[0] "Skalkommandon som matchar nyckelordet '"
msgstr[1] "Skalkommandon som matchar nyckelorden '"

#: builtins/help.def:168
#, c-format
msgid ""
"no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
msgstr ""
"inget hjälpämne matchar \"%s\".  Prova \"help help\" eller \"man -k %s\" "
"eller \"info %s\"."

#: builtins/help.def:185
#, c-format
msgid "%s: cannot open: %s"
msgstr "%s: det går inte att öppna: %s"

#: builtins/help.def:337
#, c-format
msgid ""
"These shell commands are defined internally.  Type `help' to see this list.\n"
"Type `help name' to find out more about the function `name'.\n"
"Use `info bash' to find out more about the shell in general.\n"
"Use `man -k' or `info' to find out more about commands not in this list.\n"
"\n"
"A star (*) next to a name means that the command is disabled.\n"
"\n"
msgstr ""
"Dessa skalkommandon är definierade internt.  Skriv \"help\" för att se\n"
"denna lista.  Skriv \"help namn\" för att få reda på mer om funktionen\n"
"\"namn\".  Använd \"info bash\" får att få reda på mer om skalet rent\n"
"allmänt.  Använd \"man -k\" eller \"info\" för att få reda på mer om\n"
"kommandon som inte är i listan.\n"
"\n"
"En stjärna (*) bredvid ett namn betyder att det kommandot är avstängt.\n"
"\n"

#: builtins/history.def:154
msgid "cannot use more than one of -anrw"
msgstr "det går inte att använda mer än en av -anrw"

#: builtins/history.def:186
msgid "history position"
msgstr "historieposition"

#: builtins/history.def:365
#, c-format
msgid "%s: history expansion failed"
msgstr "%s: historieexpansionen misslyckades"

#: builtins/inlib.def:71
#, c-format
msgid "%s: inlib failed"
msgstr "%s: inlib misslyckades"

#: builtins/jobs.def:109
msgid "no other options allowed with `-x'"
msgstr "inga andra flaggor är tillåtna med \"-x\""

#: builtins/kill.def:200
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: argument måste vara processer eller job-id:n"

#: builtins/kill.def:263
msgid "Unknown error"
msgstr "Okänt fel"

#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
msgid "expression expected"
msgstr "uttryck förväntades"

#: builtins/mapfile.def:165
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "%s: inte en vektorvariabel"

#: builtins/mapfile.def:249 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: ogiltig filidentifierarspecifikation"

#: builtins/mapfile.def:257 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: ogiltig filbeskrivare: %s"

#: builtins/mapfile.def:266 builtins/mapfile.def:304
#, c-format
msgid "%s: invalid line count"
msgstr "%s: ogiltigt radantal"

#: builtins/mapfile.def:277
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: ogiltig vektorstart"

#: builtins/mapfile.def:294
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: ogiltigt återanropskvanta"

#: builtins/mapfile.def:326
msgid "empty array variable name"
msgstr "tomt vektorvariabelnamn"

#: builtins/mapfile.def:347
msgid "array variable support required"
msgstr "stöd för vektorvariabler krävs"

#: builtins/printf.def:374
#, c-format
msgid "`%s': missing format character"
msgstr "\"%s\": formateringstecken saknas"

#: builtins/printf.def:551
#, c-format
msgid "`%c': invalid format character"
msgstr "\"%c\": ogiltigt formateringstecken"

#: builtins/printf.def:578
#, c-format
msgid "warning: %s: %s"
msgstr "varning: %s: %s"

#: builtins/printf.def:757
msgid "missing hex digit for \\x"
msgstr "hexadecimal siffra saknas för \\x"

#: builtins/pushd.def:195
msgid "no other directory"
msgstr "ingen annan katalog"

#: builtins/pushd.def:462
msgid "<no current directory>"
msgstr "<ingen aktuell katalog>"

#: builtins/pushd.def:506
msgid "directory stack empty"
msgstr "katalogstacken är tom"

#: builtins/pushd.def:508
msgid "directory stack index"
msgstr "katalogstackindex"

#: builtins/pushd.def:683
msgid ""
"Display the list of currently remembered directories.  Directories\n"
"    find their way onto the list with the `pushd' command; you can get\n"
"    back up through the list with the `popd' command.\n"
"    \n"
"    Options:\n"
"      -c\tclear the directory stack by deleting all of the elements\n"
"      -l\tdo not print tilde-prefixed versions of directories relative\n"
"    \tto your home directory\n"
"      -p\tprint the directory stack with one entry per line\n"
"      -v\tprint the directory stack with one entry per line prefixed\n"
"    \twith its position in the stack\n"
"    \n"
"    Arguments:\n"
"      +N\tDisplays the Nth entry counting from the left of the list shown "
"by\n"
"    \tdirs when invoked without options, starting with zero.\n"
"    \n"
"      -N\tDisplays the Nth entry counting from the right of the list shown "
"by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
"Visa listan av kataloger i minnet just nu.  Kataloger hamnar i listan\n"
"    med kommandot \"pushd\" command.  Du kan komma tillbaka upp genom\n"
"    listan med kommandot \"popd\".\n"
"    \n"
"    Flaggor:\n"
"      -c\tnollställ katalogstacken genom att bo bort alla elementen\n"
"      -l\tskriv inte ut versioner med tildeprefix av kataloger som är\n"
"    \trelativa din hemkatalog\n"
"      -p\tskriv katalogstacken med en post per rad\n"
"      -v\tskriv katalogstacken med en post per rad inledda med dess\n"
"    \tposition i stacken\n"
"    \n"
"    Argument:\n"
"      +N\tVisa den N:e posten räknat från vänster i listan som visas\n"
"    \tav dirs när det anropas utan flaggor, räknat från noll.\n"
"    \n"
"      -N\tVisa den N:e posten räkntat från höger i listan som visas\n"
"\tav dirs när det anropas utan flaggor, räknat från noll."

#: builtins/pushd.def:705
msgid ""
"Adds a directory to the top of the directory stack, or rotates\n"
"    the stack, making the new top of the stack the current working\n"
"    directory.  With no arguments, exchanges the top two directories.\n"
"    \n"
"    Options:\n"
"      -n\tSuppresses the normal change of directory when adding\n"
"    \tdirectories to the stack, so only the stack is manipulated.\n"
"    \n"
"    Arguments:\n"
"      +N\tRotates the stack so that the Nth directory (counting\n"
"    \tfrom the left of the list shown by `dirs', starting with\n"
"    \tzero) is at the top.\n"
"    \n"
"      -N\tRotates the stack so that the Nth directory (counting\n"
"    \tfrom the right of the list shown by `dirs', starting with\n"
"    \tzero) is at the top.\n"
"    \n"
"      dir\tAdds DIR to the directory stack at the top, making it the\n"
"    \tnew current working directory.\n"
"    \n"
"    The `dirs' builtin displays the directory stack."
msgstr ""
"Lägger till en katalog till toppen av katalogstacken, eller roterar\n"
"    stacken, och gör den nya toppen av stacken till den aktuella\n"
"    arbetskatalogen.  Utan argument, byt de två toppkatalogerna.\n"
"    \n"
"    Flaggor:\n"
"      -n\tUndertryck det normala bytet av katalog när kataloger\n"
"    \tläggs till på stacken, så att endast stacken ändras.\n"
"    \n"
"    Argument:\n"
"      +N\tRoterar stacken så att den N:e katalogen (räknat från\n"
"    \tvänster i listan som visas av \"dirs\", med början på noll) hamnar\n"
"    \tpå toppen.\n"
"    \n"
"      -N\tRoterar stacken så att den N:e katalogen (räknat från\n"
"    \thöger i listan som visas av \"dirs\", med början på noll) hamnar\n"
"    \tpå toppen.\n"
"    \n"
"      kat\tLägger till KAT till toppen av katalogstacken, och gör den\n"
"    \ttill den nya aktuella arbetskatalogen.\n"
"    \n"
"    Den inbyggda \"dirs\" visar katalogstacken."

#: builtins/pushd.def:730
msgid ""
"Removes entries from the directory stack.  With no arguments, removes\n"
"    the top directory from the stack, and changes to the new top directory.\n"
"    \n"
"    Options:\n"
"      -n\tSuppresses the normal change of directory when removing\n"
"    \tdirectories from the stack, so only the stack is manipulated.\n"
"    \n"
"    Arguments:\n"
"      +N\tRemoves the Nth entry counting from the left of the list\n"
"    \tshown by `dirs', starting with zero.  For example: `popd +0'\n"
"    \tremoves the first directory, `popd +1' the second.\n"
"    \n"
"      -N\tRemoves the Nth entry counting from the right of the list\n"
"    \tshown by `dirs', starting with zero.  For example: `popd -0'\n"
"    \tremoves the last directory, `popd -1' the next to last.\n"
"    \n"
"    The `dirs' builtin displays the directory stack."
msgstr ""
"Tar bort poster från katalogstacken.  Utan argument tas den översta\n"
"    katalogen bort från stacken, och byte görs till den nya toppkatalogen.\n"
"    \n"
"    Flaggor:\n"
"      -n\tUndertryck det normala bytet av katalog när kataloger\n"
"    \tläggs till på stacken, så att endast stacken ändras.\n"
"    \n"
"    Arguments:\n"
"      +N\tTar bort den N:e posten räknat från vänster i listan\n"
"    \tsom visas av \"dirs\", med början på noll.  Till exempel: \"popd +0\"\n"
"    \ttar bort den första katalogen, \"popd +1\" den andra.\n"
"    \n"
"      -N\tTar bort den N:e posten räknat från höger i listan\n"
"    \tsom visas av \"dirs\", med början på noll.  Till exempel: \"popd -0\"\n"
"    \ttar bort den sista katalogen, \"popd -1\" den näst sista.\n"
"    \n"
"    Den inbyggda \"dirs\" visar katalogstacken."

#: builtins/read.def:252
#, c-format
msgid "%s: invalid timeout specification"
msgstr "%s: ogiltig tidsgränsspecifikation"

#: builtins/read.def:588
#, c-format
msgid "read error: %d: %s"
msgstr "läsfel: %d: %s"

#: builtins/return.def:73
msgid "can only `return' from a function or sourced script"
msgstr ""
"det går bara att göra \"return\" från en funktion eller källinläst skript"

#: builtins/set.def:768
msgid "cannot simultaneously unset a function and a variable"
msgstr "det går inte att samtidigt ta bort en funktion och en variabel"

#: builtins/set.def:805
#, c-format
msgid "%s: cannot unset"
msgstr "%s: det går inte att ta bort tilldelning"

#: builtins/set.def:812
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: det går inte att ta bort tilldelning: endast läsbar %s"

#: builtins/set.def:823
#, c-format
msgid "%s: not an array variable"
msgstr "%s: inte en vektorvariabel"

#: builtins/setattr.def:186
#, c-format
msgid "%s: not a function"
msgstr "%s: inte en funktion"

#: builtins/shift.def:71 builtins/shift.def:77
msgid "shift count"
msgstr "skiftantal"

#: builtins/shopt.def:260
msgid "cannot set and unset shell options simultaneously"
msgstr "det går inte att sätta och ta bort skalflaggor samtidigt"

#: builtins/shopt.def:325
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: ogiltigt skalflaggsnamn"

#: builtins/source.def:128
msgid "filename argument required"
msgstr "filnamnsargument krävs"

#: builtins/source.def:153
#, c-format
msgid "%s: file not found"
msgstr "%s: filen finns inte"

#: builtins/suspend.def:101
msgid "cannot suspend"
msgstr "det går inte att suspendera"

#: builtins/suspend.def:111
msgid "cannot suspend a login shell"
msgstr "det går inte att suspendera ett inloggningsskal"

#: builtins/type.def:234
#, c-format
msgid "%s is aliased to `%s'\n"
msgstr "%s är ett alias för \"%s\"\n"

#: builtins/type.def:255
#, c-format
msgid "%s is a shell keyword\n"
msgstr "%s är ett nyckelord i skalet\n"

#: builtins/type.def:274
#, c-format
msgid "%s is a function\n"
msgstr "%s är en funktion\n"

#: builtins/type.def:296
#, c-format
msgid "%s is a shell builtin\n"
msgstr "%s är inbyggt i skalet\n"

#: builtins/type.def:317 builtins/type.def:391
#, c-format
msgid "%s is %s\n"
msgstr "%s är %s\n"

#: builtins/type.def:337
#, c-format
msgid "%s is hashed (%s)\n"
msgstr "%s är hashad (%s)\n"

#: builtins/ulimit.def:372
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: ogiltigt gränsargument"

#: builtins/ulimit.def:398
#, c-format
msgid "`%c': bad command"
msgstr "\"%c\": felaktigt kommando"

#: builtins/ulimit.def:427
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: kan inte avgöra gränsen: %s"

#: builtins/ulimit.def:453
msgid "limit"
msgstr "gräns"

#: builtins/ulimit.def:465 builtins/ulimit.def:765
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: kan inte ändra gränsen: %s"

#: builtins/umask.def:118
msgid "octal number"
msgstr "oktalt tal"

#: builtins/umask.def:231
#, c-format
msgid "`%c': invalid symbolic mode operator"
msgstr "\"%c\": ogiltig operator för symboliskt läge"

#: builtins/umask.def:286
#, c-format
msgid "`%c': invalid symbolic mode character"
msgstr "\"%c\": ogiltigt tecken för symboliskt läge"

#: error.c:90 error.c:321 error.c:323 error.c:325
msgid " line "
msgstr " rad "

#: error.c:165
#, c-format
msgid "last command: %s\n"
msgstr "senaste kommando: %s\n"

#: error.c:173
#, c-format
msgid "Aborting..."
msgstr "Avbryter..."

#: error.c:406
msgid "unknown command error"
msgstr "okänt kommandofel"

#: error.c:407
msgid "bad command type"
msgstr "felaktig kommandotyp"

#: error.c:408
msgid "bad connector"
msgstr "felaktig anslutning"

#: error.c:409
msgid "bad jump"
msgstr "felaktigt hopp"

#: error.c:447
#, c-format
msgid "%s: unbound variable"
msgstr "%s: obunden variabel"

#: eval.c:181
#, c-format
msgid "timed out waiting for input: auto-logout\n"
msgstr "tiden gick ut i väntan på indata: automatisk utloggning\n"

#: execute_cmd.c:497
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "det går inte att omdiregera standard in från /dev/null: %s"

#: execute_cmd.c:1162
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: \"%c\": ogiltigt formateringstecken"

#: execute_cmd.c:2075
msgid "pipe error"
msgstr "rörfel"

#: execute_cmd.c:4481
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: begränsat: det går inte att ange \"/\" i kommandonamn"

#: execute_cmd.c:4572
#, c-format
msgid "%s: command not found"
msgstr "%s: kommandot finns inte"

#: execute_cmd.c:4827
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: felaktig tolk"

#: execute_cmd.c:4976
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "det går inte att duplicera fb %d till fb %d"

#: expr.c:241
msgid "expression recursion level exceeded"
msgstr "rekursionsnivå i uttryck överskriden"

#: expr.c:265
msgid "recursion stack underflow"
msgstr "underspill i rekursionsstacken"

#: expr.c:379
msgid "syntax error in expression"
msgstr "syntaxfel i uttrycket"

#: expr.c:419
msgid "attempted assignment to non-variable"
msgstr "försök att tilldela till en icke-variabel"

#: expr.c:440 expr.c:445 expr.c:756
msgid "division by 0"
msgstr "division med 0"

#: expr.c:471
msgid "bug: bad expassign token"
msgstr "bug: felaktig expassign-token"

#: expr.c:513
msgid "`:' expected for conditional expression"
msgstr "\":\" förväntades i villkorligt uttryck"

#: expr.c:781
msgid "exponent less than 0"
msgstr "exponenten är mindre än 0"

#: expr.c:826
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "en identifierare förväntades efter pre-ökning eller pre-minskning"

#: expr.c:854
msgid "missing `)'"
msgstr "\")\" saknas"

#: expr.c:897 expr.c:1176
msgid "syntax error: operand expected"
msgstr "syntaxfel: en operand förväntades"

#: expr.c:1178
msgid "syntax error: invalid arithmetic operator"
msgstr "syntaxfel: ogiltig aritmetisk operator"

#: expr.c:1202
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (felsymbol är \"%s\")"

#: expr.c:1260
msgid "invalid arithmetic base"
msgstr "ogiltig aritmetisk bas"

#: expr.c:1280
msgid "value too great for base"
msgstr "värdet är för stort för basen"

#: expr.c:1329
#, c-format
msgid "%s: expression error\n"
msgstr "%s: uttrycksfel\n"

#: general.c:61
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: det går inte att komma åt föräldrakatalogen"

#: input.c:94 subst.c:4857
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "det går inte att återställa fördröjningsfritt läge för fb %d"

#: input.c:258
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
"det går inte att allokera en ny filbeskrivare för bashindata från fb %d"

#: input.c:266
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: buffert finns redan för ny fb %d"

#: jobs.c:466
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp rör"

#: jobs.c:887
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "avgrenad pid %d fins i körande jobb %d"

#: jobs.c:1005
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "tar bort stoppat jobb %d med processgrupp %ld"

#: jobs.c:1110
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: process %5ld (%s) i the_pipeline"

#: jobs.c:1113
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: pid %5ld (%s) markerad som fortfarande vid liv"

#: jobs.c:1401
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: ingen sådan pid"

#: jobs.c:1416
#, c-format
msgid "Signal %d"
msgstr "Signal %d"

#: jobs.c:1430 jobs.c:1455
msgid "Done"
msgstr "Klart"

#: jobs.c:1435 siglist.c:123
msgid "Stopped"
msgstr "Stoppat"

#: jobs.c:1439
#, c-format
msgid "Stopped(%s)"
msgstr "Stoppat(%s)"

#: jobs.c:1443
msgid "Running"
msgstr "Kör"

#: jobs.c:1457
#, c-format
msgid "Done(%d)"
msgstr "Klart(%d)"

#: jobs.c:1459
#, c-format
msgid "Exit %d"
msgstr "Avslut %d"

#: jobs.c:1462
msgid "Unknown status"
msgstr "Okänd status"

#: jobs.c:1549
#, c-format
msgid "(core dumped) "
msgstr "(minnesutskrift skapad) "

#: jobs.c:1568
#, c-format
msgid "  (wd: %s)"
msgstr "  (ak: %s)"

#: jobs.c:1776
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "barns setpgid (%ld till %ld)"

#: jobs.c:2104 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: pid %ld är inte ett barn till detta skal"

#: jobs.c:2331
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: Ingen uppgift om process %ld"

#: jobs.c:2607
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: jobb %d är stoppat"

#: jobs.c:2829
#, c-format
msgid "%s: job has terminated"
msgstr "%s: jobbet har avslutat"

#: jobs.c:2838
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: jobb %d är redan i bakgrunden"

#: jobs.c:3059
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""

#: jobs.c:3508
#, c-format
msgid "%s: line %d: "
msgstr "%s: rad %d: "

#: jobs.c:3522 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (minnesutskrift skapad)"

#: jobs.c:3534 jobs.c:3547
#, c-format
msgid "(wd now: %s)\n"
msgstr "(ak nu: %s)\n"

#: jobs.c:3579
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: getpgrp misslyckades"

#: jobs.c:3639
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: linjedisciplin"

#: jobs.c:3649
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"

#: jobs.c:3677
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "det går inte att sätta terminalprocessgrupp (%d)"

#: jobs.c:3682
msgid "no job control in this shell"
msgstr "ingen jobbstyrning i detta skal"

#: lib/malloc/malloc.c:296
#, c-format
msgid "malloc: failed assertion: %s\n"
msgstr "malloc: försäkran misslyckades: %s\n"

#: lib/malloc/malloc.c:312
#, c-format
msgid ""
"\r\n"
"malloc: %s:%d: assertion botched\r\n"
msgstr ""
"\r\n"
"malloc: %s:%d: försäkran gick fel\r\n"

#: lib/malloc/malloc.c:313
msgid "unknown"
msgstr "okänd"

#: lib/malloc/malloc.c:797
msgid "malloc: block on free list clobbered"
msgstr "malloc: block på frilista överskrivet"

#: lib/malloc/malloc.c:874
msgid "free: called with already freed block argument"
msgstr "free: anropad med redan frigjort block som argument"

#: lib/malloc/malloc.c:877
msgid "free: called with unallocated block argument"
msgstr "free: anropad med oallokerat block som argument"

#: lib/malloc/malloc.c:896
msgid "free: underflow detected; mh_nbytes out of range"
msgstr "free: underspill upptäckt: mh_nbytes utanför giltigt intervall"

#: lib/malloc/malloc.c:902
msgid "free: start and end chunk sizes differ"
msgstr "free: start- och slutstyckesstorlekar skiljer"

#: lib/malloc/malloc.c:1001
msgid "realloc: called with unallocated block argument"
msgstr "realloc: anropat med oallokerat block som argument"

#: lib/malloc/malloc.c:1016
msgid "realloc: underflow detected; mh_nbytes out of range"
msgstr "realloc: underspill upptäckt: mh_nbytes utanför giltigt intervall"

#: lib/malloc/malloc.c:1022
msgid "realloc: start and end chunk sizes differ"
msgstr "realloc: start- och slutstycesstorlekar skiljer"

#: lib/malloc/table.c:177
#, c-format
msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
msgstr "register_alloc: allokeringstabellen är full med FIND_ALLOC?\n"

#: lib/malloc/table.c:184
#, c-format
msgid "register_alloc: %p already in table as allocated?\n"
msgstr "register_alloc: %p finns redan i tabellen som allokerat?\n"

#: lib/malloc/table.c:220
#, c-format
msgid "register_free: %p already in table as free?\n"
msgstr "register_free: %p finns redan i tabellen som fritt?\n"

#: lib/sh/fmtulong.c:101
msgid "invalid base"
msgstr "ogiltig bas"

#: lib/sh/netopen.c:168
#, c-format
msgid "%s: host unknown"
msgstr "%s: okänd värd"

#: lib/sh/netopen.c:175
#, c-format
msgid "%s: invalid service"
msgstr "%s: ogiltig tjänst"

#: lib/sh/netopen.c:306
#, c-format
msgid "%s: bad network path specification"
msgstr "%s: felaktig specifikation av nätverkssökväg"

#: lib/sh/netopen.c:346
msgid "network operations not supported"
msgstr "nätverksoperationer stöds inte"

#: locale.c:192
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
msgstr ""

#: locale.c:194
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
msgstr ""

#: locale.c:247
#, fuzzy, c-format
msgid "setlocale: %s: cannot change locale (%s)"
msgstr "xrealloc: %s: %d: kan inte allokera %lu byte"

#: locale.c:249
#, fuzzy, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
msgstr "xrealloc: %s: %d: kan inte allokera %lu byte"

#: mailcheck.c:433
msgid "You have mail in $_"
msgstr "Du har post i $_"

#: mailcheck.c:458
msgid "You have new mail in $_"
msgstr "Du har ny post i $_"

#: mailcheck.c:474
#, c-format
msgid "The mail in %s has been read\n"
msgstr "Posten i %s har lästs\n"

#: make_cmd.c:323
msgid "syntax error: arithmetic expression required"
msgstr "syntaxfel: aritmetiskt uttryck krävs"

#: make_cmd.c:325
msgid "syntax error: `;' unexpected"
msgstr "syntaxfel: oväntat \";\""

#: make_cmd.c:326
#, c-format
msgid "syntax error: `((%s))'"
msgstr "syntaxfel: \"((%s))\""

#: make_cmd.c:575
#, c-format
msgid "make_here_document: bad instruction type %d"
msgstr "make_here_document: felaktig instruktionstyp %d"

#: make_cmd.c:659
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
msgstr "här-dokument på rad %d avgränsas av filslut (ville ha \"%s\")"

#: make_cmd.c:756
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr ""
"make_redirection: omdirigeringsinstruktion \"%d\" utanför giltigt intervall"

#: parse.y:3133 parse.y:3369
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "oväntat filslut vid sökning efter matchande \"%c\""

#: parse.y:3951
msgid "unexpected EOF while looking for `]]'"
msgstr "oväntat filslut vid sökning efter \"]]\""

#: parse.y:3956
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "syntaxfel i villkorligt uttryck: oväntad symbol \"%s\""

#: parse.y:3960
msgid "syntax error in conditional expression"
msgstr "syntaxfel i villkorligt uttryck"

#: parse.y:4038
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "oväntad symbol \"%s\", \")\" förväntades"

#: parse.y:4042
msgid "expected `)'"
msgstr "\")\" förväntades"

#: parse.y:4070
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "oväntat argument \"%s\" till villkorlig unär operator"

#: parse.y:4074
msgid "unexpected argument to conditional unary operator"
msgstr "oväntat argument till villkorlig unär operator"

#: parse.y:4120
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "oväntad symbol \"%s\", villkorlig binär operator förväntades"

#: parse.y:4124
msgid "conditional binary operator expected"
msgstr "villkorlig binär operato förväntades"

#: parse.y:4146
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "oväntat argument \"%s\" till villkorlig binär operator"

#: parse.y:4150
msgid "unexpected argument to conditional binary operator"
msgstr "oväntat argument till villkorlig binär operator"

#: parse.y:4161
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "oväntad symbol \"%c\" i villkorligt kommando"

#: parse.y:4164
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "oväntad symbol \"%s\" i villkorligt kommando"

#: parse.y:4168
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "oväntad symbol %d i villkorligt kommando"

#: parse.y:5459
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "syntaxfel när den oväntade symbolen \"%s\""

#: parse.y:5477
#, c-format
msgid "syntax error near `%s'"
msgstr "syntaxfel nära \"%s\""

#: parse.y:5487
msgid "syntax error: unexpected end of file"
msgstr "syntaxfel: oväntat filslut"

#: parse.y:5487
msgid "syntax error"
msgstr "syntaxfel"

#: parse.y:5549
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Använd \"%s\" fär att lämna skalet.\n"

#: parse.y:5711
msgid "unexpected EOF while looking for matching `)'"
msgstr "oväntat filslut när matchande \")\" söktes"

#: pcomplete.c:1030
#, c-format
msgid "completion: function `%s' not found"
msgstr "komplettering: funktion \"%s\" finns inte"

#: pcomplib.c:179
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"

#: print_cmd.c:290
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: felaktig anslutning \"%d\""

#: print_cmd.c:363
#, fuzzy, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "%d: ogiltig filbeskrivare: %s"

#: print_cmd.c:368
msgid "xtrace_set: NULL file pointer"
msgstr ""

#: print_cmd.c:372
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""

#: print_cmd.c:1461
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: \"%c\": ogiltigt formateringstecken"

#: redir.c:110
msgid "file descriptor out of range"
msgstr "filbeskrivare utanför giltigt intervall"

#: redir.c:166
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: tvetydig omdirigering"

#: redir.c:170
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: begränsad: det går inte att skriva över en existerande fil"

#: redir.c:175
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: begränsad: det går inte att omdirigera utdata"

#: redir.c:180
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "det går inte att skapa temporärfil för här-dokument: %s"

#: redir.c:184
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: det går inte att tilldela listor till vektormedlemmar"

#: redir.c:544
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port stöds inte utan nätverksfunktion"

#: redir.c:1101
msgid "redirection error: cannot duplicate fd"
msgstr "omdirigeringsfel: det går inte att duplicera fb"

#: shell.c:332
msgid "could not find /tmp, please create!"
msgstr "hittade inte /tmp, var god skapa!"

#: shell.c:336
msgid "/tmp must be a valid directory name"
msgstr "/tmp måste vara ett giltigt katalognamn"

#: shell.c:884
#, c-format
msgid "%c%c: invalid option"
msgstr "%c%c: ogiltig flagga"

#: shell.c:1651
msgid "I have no name!"
msgstr "Jag har inget namn!"

#: shell.c:1793
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, version %s-(%s)\n"

#: shell.c:1794
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
"\t%s [GNU long option] [option] script-file ...\n"
msgstr ""
"Användning:\t%s [GNU lång flagga] [flagga] ...\n"
"\t\t%s [GNU lång flagga] [flagga] skriptfil ...\n"

#: shell.c:1796
msgid "GNU long options:\n"
msgstr "GNU långa flaggor:\n"

#: shell.c:1800
msgid "Shell options:\n"
msgstr "Skalflaggor:\n"

#: shell.c:1801
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD eller -c kommando eller -O shopt_flagga\t\t(bara uppstart)\n"

#: shell.c:1816
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s eller -o flagga\n"

#: shell.c:1822
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr "Skriv \"%s -c 'help set'\" för mer information om skalflaggor.\n"

#: shell.c:1823
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr "Skriv \"%s -c help\" för mer information om inbyggda skalkommandon.\n"

#: shell.c:1824
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr ""
"Använd kommandot \"bashbug\" för att rapportera fel.\n"
"Skicka synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"

#: sig.c:626
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: ogiltig operation"

#: siglist.c:48
msgid "Bogus signal"
msgstr "Felatkig signal"

#: siglist.c:51
msgid "Hangup"
msgstr "Avringd"

#: siglist.c:55
msgid "Interrupt"
msgstr "Avbruten"

#: siglist.c:59
msgid "Quit"
msgstr "Lämnad"

#: siglist.c:63
msgid "Illegal instruction"
msgstr "Otillåten instruktion"

#: siglist.c:67
msgid "BPT trace/trap"
msgstr "Brytpunkt/spårningsfälla"

#: siglist.c:75
msgid "ABORT instruction"
msgstr "ABORT-instruktion"

#: siglist.c:79
msgid "EMT instruction"
msgstr "Emulatorfälla"

#: siglist.c:83
msgid "Floating point exception"
msgstr "Flyttalsfel"

#: siglist.c:87
msgid "Killed"
msgstr "Dödad"

#: siglist.c:91
msgid "Bus error"
msgstr "Bussfel"

#: siglist.c:95
msgid "Segmentation fault"
msgstr "Segmenteringsfel"

#: siglist.c:99
msgid "Bad system call"
msgstr "Felaktigt systemanrop"

#: siglist.c:103
msgid "Broken pipe"
msgstr "Brutet rör"

#: siglist.c:107
msgid "Alarm clock"
msgstr "Alarmklocka"

#: siglist.c:111
msgid "Terminated"
msgstr "Avslutat"

#: siglist.c:115
msgid "Urgent IO condition"
msgstr "Viktigt I/O-tillstånd"

#: siglist.c:119
msgid "Stopped (signal)"
msgstr "Stoppad (signal)"

#: siglist.c:127
msgid "Continue"
msgstr "Återupptagen"

#: siglist.c:135
msgid "Child death or stop"
msgstr "Barn dött eller stoppat"

#: siglist.c:139
msgid "Stopped (tty input)"
msgstr "Stoppad (terminalläsning)"

#: siglist.c:143
msgid "Stopped (tty output)"
msgstr "Stoppad (terminalskrivning)"

#: siglist.c:147
msgid "I/O ready"
msgstr "I/O möjligt"

#: siglist.c:151
msgid "CPU limit"
msgstr "CPU-gräns"

#: siglist.c:155
msgid "File limit"
msgstr "Filgräns"

#: siglist.c:159
msgid "Alarm (virtual)"
msgstr "Alarm (virtuell tid)"

#: siglist.c:163
msgid "Alarm (profile)"
msgstr "Alarm (profilering)"

#: siglist.c:167
msgid "Window changed"
msgstr "Ändrat fönster"

#: siglist.c:171
msgid "Record lock"
msgstr "Postlås"

#: siglist.c:175
msgid "User signal 1"
msgstr "Användarsignal 1"

#: siglist.c:179
msgid "User signal 2"
msgstr "Användarsignal 2"

#: siglist.c:183
msgid "HFT input data pending"
msgstr "HFT-indata väntar"

#: siglist.c:187
msgid "power failure imminent"
msgstr "strömavbrott omedelbart förestående"

#: siglist.c:191
msgid "system crash imminent"
msgstr "systemkrash omedelbart förestående"

#: siglist.c:195
msgid "migrate process to another CPU"
msgstr "migrera process till en annan CPU"

#: siglist.c:199
msgid "programming error"
msgstr "programmeringsfel"

#: siglist.c:203
msgid "HFT monitor mode granted"
msgstr "HFT-övervakningsläge givet"

#: siglist.c:207
msgid "HFT monitor mode retracted"
msgstr "HFT-överakare borttagen"

#: siglist.c:211
msgid "HFT sound sequence has completed"
msgstr "HFT-ljudsekevens har avslutat"

#: siglist.c:215
msgid "Information request"
msgstr "Informationsbegäran"

#: siglist.c:223
msgid "Unknown Signal #"
msgstr "Okänd signal nr "

#: siglist.c:225
#, c-format
msgid "Unknown Signal #%d"
msgstr "Okänd signal nr %d"

#: subst.c:1333 subst.c:1454
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "felaktig substitution: ingen avslutande \"%s\" i %s"

#: subst.c:2735
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: det går inte att tilldela listor till vektormedlemmar"

#: subst.c:4754 subst.c:4770
msgid "cannot make pipe for process substitution"
msgstr "det går inte att skapa rör för processubstitution"

#: subst.c:4802
msgid "cannot make child for process substitution"
msgstr "det går inte att skapa barn för processubstitution"

#: subst.c:4847
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "det går inte att öppna namngivet rör %s för läsning"

#: subst.c:4849
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "det går inte att öppna namngivet rör %s för skrivning"

#: subst.c:4867
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "det går inte att duplicera namngivet rör %s som fb %d"

#: subst.c:5063
msgid "cannot make pipe for command substitution"
msgstr "det går inte att skapa rör för kommandosubstitution"

#: subst.c:5097
msgid "cannot make child for command substitution"
msgstr "det går inte att skapa barn för kommandosubstitution"

#: subst.c:5114
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: det går inte att duplicera rör som fb 1"

#: subst.c:5617
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parametern tom eller inte satt"

#: subst.c:5907
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: delstränguttryck < 0"

#: subst.c:6965
#, c-format
msgid "%s: bad substitution"
msgstr "%s: felaktig substitution"

#: subst.c:7045
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: det går inte att tilldela på detta sätt"

#: subst.c:7374
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""

#: subst.c:7839
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "felaktig ersättning: ingen avslutande \"`\" i %s"

#: subst.c:8720
#, c-format
msgid "no match: %s"
msgstr "ingen match: %s"

#: test.c:146
msgid "argument expected"
msgstr "argument förväntades"

#: test.c:155
#, c-format
msgid "%s: integer expression expected"
msgstr "%s: heltalsuttryck förväntades"

#: test.c:263
msgid "`)' expected"
msgstr "\")\" förväntades"

#: test.c:265
#, c-format
msgid "`)' expected, found %s"
msgstr "\")\" förväntades, fann %s"

#: test.c:280 test.c:693 test.c:696
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: unär operator förväntades"

#: test.c:449 test.c:736
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: binär operator förväntades"

#: test.c:811
msgid "missing `]'"
msgstr "\"]\" saknas"

#: trap.c:203
msgid "invalid signal number"
msgstr "ogiltigt signalnummer"

#: trap.c:327
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: felaktigt värde i trap_list[%d]: %p"

#: trap.c:331
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
"run_pending_traps: signalhanterare är SIG_DFL, skickar om %d (%s) till mig "
"själv"

#: trap.c:380
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: felaktig signal %d"

#: variables.c:363
#, c-format
msgid "error importing function definition for `%s'"
msgstr "fel vid import av funktionsdefinition för \"%s\""

#: variables.c:748
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "skalnivå (%d) för hög, återställer till 1"

#: variables.c:1915
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: ingen funktionskontext i aktuellt sammanhang"

#: variables.c:3159
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: ingen funktionskontext i aktuellt sammanhang"

#: variables.c:3376
#, fuzzy, c-format
msgid "%s has null exportstr"
msgstr "%s: parametern tom eller inte satt"

#: variables.c:3381 variables.c:3390
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "ogiltigt tecken %d i exportstr för %s"

#: variables.c:3396
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "inget \"=\" i exportstr för %s"

#: variables.c:3835
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
"pop_var_context: huvudet på shell_variables är inte en funktionskontext"

#: variables.c:3848
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: ingen kontext global_variables"

#: variables.c:3922
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
"pop_scope: huvudet på shell_variables är inte en temporär omgivningsräckvidd"

#: variables.c:4678
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: det går inte att öppna: %s"

#: variables.c:4683
#, fuzzy, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%d: ogiltig filbeskrivare: %s"

#: version.c:46
msgid "Copyright (C) 2009 Free Software Foundation, Inc."
msgstr "Copyright © 2009 Free Software Foundation, Inc."

#: version.c:47
msgid ""
"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
"Licens GPLv3+: GNU GPL version 3 eller senare <http://gnu.org/licenses/gpl."
"html>\n"

#: version.c:86 version2.c:83
#, c-format
msgid "GNU bash, version %s (%s)\n"
msgstr "GNU bash, version %s (%s)\n"

#: version.c:91 version2.c:88
#, c-format
msgid "This is free software; you are free to change and redistribute it.\n"
msgstr ""
"Detta är fri programvara, det får fritt ändra och vidaredistribuera den.\n"

#: version.c:92 version2.c:89
#, c-format
msgid "There is NO WARRANTY, to the extent permitted by law.\n"
msgstr "Det finns INGEN GARANTI, så långt lagen tillåter.\n"

#: version2.c:86
#, fuzzy, c-format
msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
msgstr "Copyright © 2009 Free Software Foundation, Inc."

#: version2.c:87
#, fuzzy, c-format
msgid ""
"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
"Licens GPLv3+: GNU GPL version 3 eller senare <http://gnu.org/licenses/gpl."
"html>\n"

#: xmalloc.c:91
#, fuzzy, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "xmalloc: kan inte allokera %lu byte (%lu byte allokerade)"

#: xmalloc.c:93
#, fuzzy, c-format
msgid "%s: cannot allocate %lu bytes"
msgstr "xmalloc: kan inte allokera %lu byte"

#: xmalloc.c:163
#, fuzzy, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "xmalloc: %s: %d: kan inte allokera %lu byte (%lu byte allokerade)"

#: xmalloc.c:165
#, fuzzy, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
msgstr "xmalloc: %s: %d: kan inte allokera %lu byte"

#: builtins.c:43
msgid "alias [-p] [name[=value] ... ]"
msgstr "alias [-p] [namn[=värde] ... ]"

#: builtins.c:47
msgid "unalias [-a] name [name ...]"
msgstr "unalias [-a] namn [namn ...]"

#: builtins.c:51
msgid ""
"bind [-lpvsPVS] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
msgstr ""
"bind [-lpvsPVS] [-m tangentkarta] [-f filenamn] [-q namn] [-u namn] [-r "
"tangentsekv] [-x tangentsekv:skalkommando] [tangentsekv:readline-funktion "
"eller readline-kommando]"

#: builtins.c:54
msgid "break [n]"
msgstr "break [n]"

#: builtins.c:56
msgid "continue [n]"
msgstr "continue [n]"

#: builtins.c:58
msgid "builtin [shell-builtin [arg ...]]"
msgstr "builtin [skalinbyggd [arg ...]]"

#: builtins.c:61
msgid "caller [expr]"
msgstr "caller [uttr]"

#: builtins.c:64
msgid "cd [-L|-P] [dir]"
msgstr "cd [-L|-P] [kat]"

#: builtins.c:66
msgid "pwd [-LP]"
msgstr "pwd [-LP]"

#: builtins.c:68
msgid ":"
msgstr ":"

#: builtins.c:70
msgid "true"
msgstr "true"

#: builtins.c:72
msgid "false"
msgstr "false"

#: builtins.c:74
msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] kommando [arg ...]"

#: builtins.c:76
msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFilrtux] [-p] [namn[=värde] ...]"

#: builtins.c:78
msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFilrtux] [-p] namn[=värde] ..."

#: builtins.c:80
msgid "local [option] name[=value] ..."
msgstr "local [flagga] namn[=värde] ..."

#: builtins.c:83
msgid "echo [-neE] [arg ...]"
msgstr "echo [-neE] [arg ...]"

#: builtins.c:87
msgid "echo [-n] [arg ...]"
msgstr "echo [-n] [arg ...]"

#: builtins.c:90
msgid "enable [-a] [-dnps] [-f filename] [name ...]"
msgstr "enable [-a] [-dnps] [-f filenamn] [namn ...]"

#: builtins.c:92
msgid "eval [arg ...]"
msgstr "eval [arg ...]"

#: builtins.c:94
msgid "getopts optstring name [arg]"
msgstr "getopts flgsträng namn [arg]"

#: builtins.c:96
msgid "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
msgstr "exec [-cl] [-a namn] [kommando [argument ...]] [omdirigering ...]"

#: builtins.c:98
msgid "exit [n]"
msgstr "exit [n]"

#: builtins.c:100
msgid "logout [n]"
msgstr "logout [n]"

#: builtins.c:103
msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
msgstr ""
"fc [-e rnamn] [-lnr] [första] [sista] eller fc -s [mnst=ers] [kommando]"

#: builtins.c:107
msgid "fg [job_spec]"
msgstr "fg [jobbspec]"

#: builtins.c:111
msgid "bg [job_spec ...]"
msgstr "bg [jobbspec ...]"

#: builtins.c:114
msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
msgstr "hash [-lr] [-p sökväg] [-dt] [namn ...]"

#: builtins.c:117
#, fuzzy
msgid "help [-dms] [pattern ...]"
msgstr "help [-ds] [mönster ...]"

#: builtins.c:121
msgid ""
"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
"[arg...]"
msgstr ""
"history [-c] [-d avstånd] [n] eller history -anrw [filnamn] eller history -"
"ps arg [arg...]"

#: builtins.c:125
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
msgstr "jobs [-lnprs] [jobbspec ...] eller jobs -x kommando [arg]"

#: builtins.c:129
msgid "disown [-h] [-ar] [jobspec ...]"
msgstr "disown [-h] [-ar] [jobbspec ...]"

#: builtins.c:132
msgid ""
"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
"[sigspec]"
msgstr ""
"kill [-s sigspec | -n signum | -sigspec] pid | jobbspec ... eller kill -l "
"[sigspec]"

#: builtins.c:134
msgid "let arg [arg ...]"
msgstr "let arg [arg ...]"

#: builtins.c:136
#, fuzzy
msgid ""
"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
"prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
"read [-ers] [-a vektor] [-d avgr] [-i text] [-n ntkn] [-p prompt] [-t "
"tidgräns] [-u fb] [namn ...]"

#: builtins.c:138
msgid "return [n]"
msgstr "return [n]"

#: builtins.c:140
msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o flaggnamn] [arg ...]"

#: builtins.c:142
msgid "unset [-f] [-v] [name ...]"
msgstr "unset [-f] [-v] [namn ...]"

#: builtins.c:144
msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [namn[=värde] ...] eller export -p"

#: builtins.c:146
msgid "readonly [-af] [name[=value] ...] or readonly -p"
msgstr "readonly [-af] [namn[=värde] ...] eller readonly -p"

#: builtins.c:148
msgid "shift [n]"
msgstr "skift [n]"

#: builtins.c:150
msgid "source filename [arguments]"
msgstr "source filnamn [argument]"

#: builtins.c:152
msgid ". filename [arguments]"
msgstr ". filnamn [argument]"

#: builtins.c:155
msgid "suspend [-f]"
msgstr "suspend [-f]"

#: builtins.c:158
msgid "test [expr]"
msgstr "test [uttr]"

#: builtins.c:160
msgid "[ arg... ]"
msgstr "[ arg... ]"

#: builtins.c:162
msgid "times"
msgstr "times"

#: builtins.c:164
msgid "trap [-lp] [[arg] signal_spec ...]"
msgstr "trap [-lp] [[arg] signalspec ...]"

#: builtins.c:166
msgid "type [-afptP] name [name ...]"
msgstr "type [-afptP] namn [namn ...]"

#: builtins.c:169
msgid "ulimit [-SHacdefilmnpqrstuvx] [limit]"
msgstr "ulimit [-SHacdefilmnpqrstuvx] [gräns]"

#: builtins.c:172
msgid "umask [-p] [-S] [mode]"
msgstr "umask [-p] [-S] [rättigheter]"

#: builtins.c:175
msgid "wait [id]"
msgstr "wait [id]"

#: builtins.c:179
msgid "wait [pid]"
msgstr "wait [pid]"

#: builtins.c:182
msgid "for NAME [in WORDS ... ] ; do COMMANDS; done"
msgstr "for NAMN [in ORD ... ] ; do KOMMANDON; done"

#: builtins.c:184
msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
msgstr "for (( utr1; utr2; utr3 )); do KOMMANDON; done"

#: builtins.c:186
msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
msgstr "select NAMN [in ORD ... ;] do KOMMANDON; done"

#: builtins.c:188
msgid "time [-p] pipeline"
msgstr "time [-p] rör"

#: builtins.c:190
msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
msgstr "case ORD in [MÖNSTER [| MÖNSTER]...) KOMMANDON ;;]... esac"

#: builtins.c:192
msgid ""
"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
"COMMANDS; ] fi"
msgstr ""
"if KOMMANDON; then KOMMANDON; [ elif KOMMANDON; then KOMMANDON; ]... [ else "
"KOMMANDON; ] fi"

#: builtins.c:194
msgid "while COMMANDS; do COMMANDS; done"
msgstr "while KOMMANDON; do KOMMANDON; done"

#: builtins.c:196
msgid "until COMMANDS; do COMMANDS; done"
msgstr "until KOMMANDON; do KOMMANDON; done"

#: builtins.c:198
msgid "coproc [NAME] command [redirections]"
msgstr "coproc [NAMN] kommando [omdirigeringar]"

#: builtins.c:200
msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
msgstr "function namn { KOMMANDON ; } or namn () { KOMMANDON ; }"

#: builtins.c:202
msgid "{ COMMANDS ; }"
msgstr "{ KOMMANDON ; }"

#: builtins.c:204
msgid "job_spec [&]"
msgstr "jobbspec [&]"

#: builtins.c:206
msgid "(( expression ))"
msgstr "(( uttryck ))"

#: builtins.c:208
msgid "[[ expression ]]"
msgstr "[[ uttryck ]]"

#: builtins.c:210
msgid "variables - Names and meanings of some shell variables"
msgstr "variabler - Namn och betydelse av några skalvariabler"

#: builtins.c:213
msgid "pushd [-n] [+N | -N | dir]"
msgstr "pushd [-n] [+N | -N | kat]"

#: builtins.c:217
msgid "popd [-n] [+N | -N]"
msgstr "popd [-n] [+N | -N]"

#: builtins.c:221
msgid "dirs [-clpv] [+N] [-N]"
msgstr "dirs [-clpv] [+N] [-N]"

#: builtins.c:224
msgid "shopt [-pqsu] [-o] [optname ...]"
msgstr "shopt [-pqsu] [-o] [flgnamn ...]"

#: builtins.c:226
msgid "printf [-v var] format [arguments]"
msgstr "printf [-v var] format [argument]"

#: builtins.c:229
#, fuzzy
msgid ""
"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
"W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
"complete [-abcdefgjksuv] [-pr] [-o flagga] [-A åtgärd] [-G globmnst] [-W "
"ordlista]  [-F funktion] [-C kommando] [-X filtermnst] [-P prefix] [-S "
"suffix] [namn ...]"

#: builtins.c:233
msgid ""
"compgen [-abcdefgjksuv] [-o option]  [-A action] [-G globpat] [-W wordlist]  "
"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
msgstr ""
"compgen [-abcdefgjksuv] [-o flagga]  [-A åtgärd] [-G globmnst] [-W "
"ordlista]  [-F funktion] [-C kommando] [-X filtermnst] [-P prefix] [-S "
"suffix] [ord]"

#: builtins.c:237
#, fuzzy
msgid "compopt [-o|+o option] [-DE] [name ...]"
msgstr "compopt [-o|+o flagga] [namn ...]"

#: builtins.c:240
msgid ""
"mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
"quantum] [array]"
msgstr ""
"mapfile [-n antal] [-O start] [-s antal] [-t] [-u fb] [-C återanrop] [-c "
"kvanta] [vektor]"

#: builtins.c:242
msgid ""
"readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
"quantum] [array]"
msgstr ""
"readarray [-n antal] [-O start] [-s antal] [-t] [-u fb] [-C återanrop] [-c "
"kvanta] [vektor]"

#: builtins.c:254
msgid ""
"Define or display aliases.\n"
"    \n"
"    Without arguments, `alias' prints the list of aliases in the reusable\n"
"    form `alias NAME=VALUE' on standard output.\n"
"    \n"
"    Otherwise, an alias is defined for each NAME whose VALUE is given.\n"
"    A trailing space in VALUE causes the next word to be checked for\n"
"    alias substitution when the alias is expanded.\n"
"    \n"
"    Options:\n"
"      -p\tPrint all defined aliases in a reusable format\n"
"    \n"
"    Exit Status:\n"
"    alias returns true unless a NAME is supplied for which no alias has "
"been\n"
"    defined."
msgstr ""
"Definiera eller visa alias.\n"
"    \n"
"    Utan argumen skriver \"alias\" listan på alias på den återanvändbara "
"formen\n"
"    \"alias NAMN=VÄRDE\" på standard ut.\n"
"    \n"
"    Annars är ett alias definierat för varje NAMN vars VÄRDE är angivet.\n"
"    Ett avlutande blanktecken i VÄRDE gör att nästa ord undersöks för\n"
"    aliassubstitution när aliaset expanderas.\n"
"    \n"
"    Flaggor:\n"
"      -p\tSkriv alla definerade alias i på en återanvändbar form\n"
"    \n"
"    Slutstatus:\n"
"    alias returnerar sant om inte ett NAMN ges för vilket inget alias har\n"
"    definierats."

#: builtins.c:276
msgid ""
"Remove each NAME from the list of defined aliases.\n"
"    \n"
"    Options:\n"
"      -a\tremove all alias definitions.\n"
"    \n"
"    Return success unless a NAME is not an existing alias."
msgstr ""
"Ta bort alla NAMN från listan med definierade alias.\n"
"    \n"
"    Flaggor:\n"
"      -a\tta bort alla aliasdefinitioner.\n"
"    \n"
"    Returnerar framgång om inte ett NAMN inte är ett existerande alias."

#: builtins.c:289
msgid ""
"Set Readline key bindings and variables.\n"
"    \n"
"    Bind a key sequence to a Readline function or a macro, or set a\n"
"    Readline variable.  The non-option argument syntax is equivalent to\n"
"    that found in ~/.inputrc, but must be passed as a single argument:\n"
"    e.g., bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
"    \n"
"    Options:\n"
"      -m  keymap         Use KEYMAP as the keymap for the duration of this\n"
"                         command.  Acceptable keymap names are emacs,\n"
"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
"move,\n"
"                         vi-command, and vi-insert.\n"
"      -l                 List names of functions.\n"
"      -P                 List function names and bindings.\n"
"      -p                 List functions and bindings in a form that can be\n"
"                         reused as input.\n"
"      -S                 List key sequences that invoke macros and their "
"values\n"
"      -s                 List key sequences that invoke macros and their "
"values\n"
"                         in a form that can be reused as input.\n"
"      -V                 List variable names and values\n"
"      -v                 List variable names and values in a form that can\n"
"                         be reused as input.\n"
"      -q  function-name  Query about which keys invoke the named function.\n"
"      -u  function-name  Unbind all keys which are bound to the named "
"function.\n"
"      -r  keyseq         Remove the binding for KEYSEQ.\n"
"      -f  filename       Read key bindings from FILENAME.\n"
"      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
"    \t\t\t\tKEYSEQ is entered.\n"
"    \n"
"    Exit Status:\n"
"    bind returns 0 unless an unrecognized option is given or an error occurs."
msgstr ""
"Sätt Readline-tangentbindningar och -variabler.\n"
"    \n"
"    Bind en tangentsekvens till en Readline-funktion eller -makro, eller "
"sätt\n"
"    en Readline-variabel.  Syntaxen för argument vid sidan om flaggor är\n"
"    densamma som den i ~/.inputrc, men måste skickas som ett ensamt "
"argument:\n"
"    t.ex., bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
"    \n"
"    Flaggor:\n"
"      -m  tangentkarta   Använt TANGENTKARTA som tangentkarta under detta\n"
"                         kommando.  Acceptabla tangentkartenamn är emacs,\n"
"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
"move,\n"
"                         vi-command och vi-insert.\n"
"      -l                 Lista namnen på funktioner.\n"
"      -P                 List funktionsnamn och bindningar.\n"
"      -p                 List funktioner och bindningar på ett sätt som kan\n"
"                         återanvändas som indata.\n"
"      -S                 Lista tangentsekvenser som anropar makron och "
"deras\n"
"                         värden.\n"
"      -s                 Lista tangentskevenser som anropar makron och "
"deras\n"
"                         värden på ett sätt som kan återanvändas som "
"indata.\n"
"      -V                 Lista variabelnamn och värden\n"
"      -v                 Lista variabelnamn och värden på ett sätt som kan\n"
"                         återanvändas som indata.\n"
"      -q  funktionsnamn  Fråga efter vilka tangenter som anroper den "
"namngivna\n"
"                         funktionen\n"
"      -u  funktionsnamn  Tag bort alla tangenter som är bundna till den\n"
"                         namngivna funktionen.\n"
"      -r  tangentsekv    Ta bort bindningen för TANGENTSEKV.\n"
"      -f  filnamn        Läs tangentbindningar från FILNAMN.\n"
"      -x  tangentsekv:skalkommando  Görs så att SKALKOMMANDO körs när\n"
"    \t\t\t\t    TANGENTSEKV skrivs.\n"
"    \n"
"    Slutstatus:\n"
"    bind returnerar 0 om inte en okänd flagga ges eller ett fel inträffar."

#: builtins.c:326
msgid ""
"Exit for, while, or until loops.\n"
"    \n"
"    Exit a FOR, WHILE or UNTIL loop.  If N is specified, break N enclosing\n"
"    loops.\n"
"    \n"
"    Exit Status:\n"
"    The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
"Avsluta for-, while- eller until-slinga.\n"
"    \n"
"    Avsluta en FOR-, WHILE eller UNTIL-slinga.  Om N anges, avbryt N\n"
"    omslutande slingor.\n"
"    \n"
"    Slutstatus:\n"
"    Returvärdet är 0 förutsatt att N är större eller lika med 1."

#: builtins.c:338
msgid ""
"Resume for, while, or until loops.\n"
"    \n"
"    Resumes the next iteration of the enclosing FOR, WHILE or UNTIL loop.\n"
"    If N is specified, resumes the Nth enclosing loop.\n"
"    \n"
"    Exit Status:\n"
"    The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
"Återuppta for-, while eller until-slinga.\n"
"    \n"
"    Återuppta nästa iteration i den omslutande FOR-, WHILE- eller UNTIL-"
"slingan.\n"
"    Om N anges, återuppta den N:e omslutande slingan.\n"
"    \n"
"    Slutstatus:\n"
"    Slutstatus är 0 förutsatt att N är större eller lika med 1."

#: builtins.c:350
msgid ""
"Execute shell builtins.\n"
"    \n"
"    Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
"    lookup.  This is useful when you wish to reimplement a shell builtin\n"
"    as a shell function, but need to execute the builtin within the "
"function.\n"
"    \n"
"    Exit Status:\n"
"    Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
"    not a shell builtin.."
msgstr ""
"Exekvera en i skalet inbyggd funktion.\n"
"    \n"
"    Exekvera SKALINBYGGD med argument ARG utan att utföra "
"kommandouppslagning.\n"
"    Detta är användbart när du vill implementera om en inbyggd funktion i\n"
"    skalet som en skalfunktion, men behöver köra den inbyggda funktionen i\n"
"    skalfunktionen.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar slutstatus från SKALINBYGGD, eller falkst om SKALINBYGGD "
"inte\n"
"    är inbyggd i skalet."

#: builtins.c:365
msgid ""
"Return the context of the current subroutine call.\n"
"    \n"
"    Without EXPR, returns \"$line $filename\".  With EXPR, returns\n"
"    \"$line $subroutine $filename\"; this extra information can be used to\n"
"    provide a stack trace.\n"
"    \n"
"    The value of EXPR indicates how many call frames to go back before the\n"
"    current one; the top frame is frame 0.\n"
"    \n"
"    Exit Status:\n"
"    Returns 0 unless the shell is not executing a shell function or EXPR\n"
"    is invalid."
msgstr ""
"Returnera kontexten för det aktuella funktionsanropet.\n"
"    \n"
"    Utan UTTR, returneras \"$rad $filnamn\".  Med UTTR, returneras\n"
"    \"$rad $subrutin $filnamn\".  Denna extra information kan användas för\n"
"    att ge en stackspårning.\n"
"    \n"
"    Värdet på UTTR indikerar hur många anropsramar att gå tillbaka före den\n"
"    aktuella, toppramen är ram 0.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar 0 om inte skalet inte kör en skalfunktion eller UTTR är\n"
"    ogiltigt."

#: builtins.c:383
msgid ""
"Change the shell working directory.\n"
"    \n"
"    Change the current directory to DIR.  The default DIR is the value of "
"the\n"
"    HOME shell variable.\n"
"    \n"
"    The variable CDPATH defines the search path for the directory "
"containing\n"
"    DIR.  Alternative directory names in CDPATH are separated by a colon "
"(:).\n"
"    A null directory name is the same as the current directory.  If DIR "
"begins\n"
"    with a slash (/), then CDPATH is not used.\n"
"    \n"
"    If the directory is not found, and the shell option `cdable_vars' is "
"set,\n"
"    the word is assumed to be  a variable name.  If that variable has a "
"value,\n"
"    its value is used for DIR.\n"
"    \n"
"    Options:\n"
"        -L\tforce symbolic links to be followed\n"
"        -P\tuse the physical directory structure without following symbolic\n"
"    \tlinks\n"
"    \n"
"    The default is to follow symbolic links, as if `-L' were specified.\n"
"    \n"
"    Exit Status:\n"
"    Returns 0 if the directory is changed; non-zero otherwise."
msgstr ""
"Ändra skalets arbetskatalog.\n"
"    \n"
"    Ändra den aktuella katalogen till KAT.  Standardvärde på KAT är värdet\n"
"    på skalvariabeln HOME.\n"
"    \n"
"    Variabeln CDPATH definierar sökvägen för katalogen som innehåller KAT.\n"
"    Alternativa katalognamn i CDPATH separeras av ett kolon (:).  Ett tomt\n"
"    katalognamn är detsamma som aktuell katalog.  Om KAT börjar med ett\n"
"    snedstreck (/) används inte CDPATH.\n"
"    \n"
"    Om katalogen inte kan hittas, och skalvariabeln \"cdable_vars\" är "
"satt,\n"
"    antas ordet vara ett variabelnamn.  Om den variabeln har ett värde\n"
"    används dess värde för KAT.\n"
"    \n"
"    Flaggor:\n"
"        -L\tframtvinga att symboliska länkar följs\n"
"        -P\tanvänd den fysiska katalogstrukturen utan att följa\n"
"    \tsymboliska länkar\n"
"    \n"
"    Standardvärde är att följa symboliska längar, som om \"-L\" vore "
"angivet.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar 0 om katalogen är ändrad; skilt från noll annars."

#: builtins.c:411
msgid ""
"Print the name of the current working directory.\n"
"    \n"
"    Options:\n"
"      -L\tprint the value of $PWD if it names the current working\n"
"    \tdirectory\n"
"      -P\tprint the physical directory, without any symbolic links\n"
"    \n"
"    By default, `pwd' behaves as if `-L' were specified.\n"
"    \n"
"    Exit Status:\n"
"    Returns 0 unless an invalid option is given or the current directory\n"
"    cannot be read."
msgstr ""
"Skriv namnet på den aktuella arbetskatalogen.\n"
"    \n"
"    Flaggor:\n"
"      -L\tskriv värdet på $PWD om det är namnet på den aktuella\n"
"    \tarbetskatalogen\n"
"      -P\tskriv den fysiska katalogen, utan några symboliska länkar\n"
"    \n"
"    Som standard beter sig \"pwd\" som om \"-L\" vore angivet.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar 0 om inte en ogiltig flagga anges eller den aktuella "
"katalogen\n"
"    inte kan läsas."

#: builtins.c:428
msgid ""
"Null command.\n"
"    \n"
"    No effect; the command does nothing.\n"
"    \n"
"    Exit Status:\n"
"    Always succeeds."
msgstr ""
"Tomt kommando.\n"
"    \n"
"    Ingen effekt.  Kommandot gör ingenting.\n"
"    \n"
"    Slutstatus:\n"
"    Lyckas alltid."

#: builtins.c:439
msgid ""
"Return a successful result.\n"
"    \n"
"    Exit Status:\n"
"    Always succeeds."
msgstr ""
"Returnerar ett lyckat resultat.\n"
"    \n"
"    Slutstatus:\n"
"    Lyckas alltid."

#: builtins.c:448
msgid ""
"Return an unsuccessful result.\n"
"    \n"
"    Exit Status:\n"
"    Always fails."
msgstr ""
"Returnera ett misslyckat resultat.\n"
"    \n"
"    Slutstatus:\n"
"    Misslyckas alltid."

#: builtins.c:457
msgid ""
"Execute a simple command or display information about commands.\n"
"    \n"
"    Runs COMMAND with ARGS suppressing  shell function lookup, or display\n"
"    information about the specified COMMANDs.  Can be used to invoke "
"commands\n"
"    on disk when a function with the same name exists.\n"
"    \n"
"    Options:\n"
"      -p\tuse a default value for PATH that is guaranteed to find all of\n"
"    \tthe standard utilities\n"
"      -v\tprint a description of COMMAND similar to the `type' builtin\n"
"      -V\tprint a more verbose description of each COMMAND\n"
"    \n"
"    Exit Status:\n"
"    Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
"Exekvera ett enkelt kommando eller visa information om kommandon.\n"
"    \n"
"    Kör KOMMANDO med ARGument och utelämna uppslagning av skalfunktioner,\n"
"    eller visa information om det angivna KOMMANDOt.  Kan användas för att\n"
"    anropa kommandon på disk när det finns en funktion med samma namn.\n"
"    \n"
"    Flaggor:\n"
"      -p\tanvänd ett standardvärde på PATH som är garanterat att hitta\n"
"    \talla standardverktygen\n"
"      -v\tskriv en beskrivning av KOMMANDO liknande den inbyggda \"type\"\n"
"      -V\tskriv en mer utförlig beskrivning om varje KOMMANDO\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar slutstatus från KOMMANDO, eller misslyckande om KOMMANDO "
"inte\n"
"    finns."

#: builtins.c:476
msgid ""
"Set variable values and attributes.\n"
"    \n"
"    Declare variables and give them attributes.  If no NAMEs are given,\n"
"    display the attributes and values of all variables.\n"
"    \n"
"    Options:\n"
"      -f\trestrict action or display to function names and definitions\n"
"      -F\trestrict display to function names only (plus line number and\n"
"    \tsource file when debugging)\n"
"      -p\tdisplay the attributes and value of each NAME\n"
"    \n"
"    Options which set attributes:\n"
"      -a\tto make NAMEs indexed arrays (if supported)\n"
"      -A\tto make NAMEs associative arrays (if supported)\n"
"      -i\tto make NAMEs have the `integer' attribute\n"
"      -l\tto convert NAMEs to lower case on assignment\n"
"      -r\tto make NAMEs readonly\n"
"      -t\tto make NAMEs have the `trace' attribute\n"
"      -u\tto convert NAMEs to upper case on assignment\n"
"      -x\tto make NAMEs export\n"
"    \n"
"    Using `+' instead of `-' turns off the given attribute.\n"
"    \n"
"    Variables with the integer attribute have arithmetic evaluation (see\n"
"    the `let' command) performed when the variable is assigned a value.\n"
"    \n"
"    When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
"    command.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
"Sätt variabelvärden och -attribut.\n"
"    \n"
"    Deklarera variabler och ge dem attribut.  Om inget NAMN anges, visa\n"
"    attributen och värdena på alla variabler.\n"
"    \n"
"    Flaggor:\n"
"      -f\tbegränsa åtgärden till att visa funktionsnamn och -definitioner\n"
"      -F\tbegränsa visandet till endast funktionsnamn (plus radnummer\n"
"    \toch källkodsfil vid felsökning)\n"
"      -p\tvisa attributen och värden på varje NAMN\n"
"    \n"
"    Flaggor som sätter attribut:\n"
"      -a\tför att göra NAMN till indexerade vektorer (om det stöds)\n"
"      -A\tför att göra NAMN till associativa vektorer (om det stöds)\n"
"      -i\tför att ge NAMN attributet \"heltal\"\n"
"      -l\tför att konvertera NAMN till gemena vid tilldelning\n"
"      -r\tför att göra NAMN endast läsbart\n"
"      -t\tför att ge NAMN attributet \"spåra\"\n"
"      -u\tför att konvertera NAMN till versaler vid tilldelning\n"
"      -x\tför att exportera NAMN\n"
"    \n"
"    Användning av \"+\" istället för \"-\" slår av det angivna attributet.\n"
"    \n"
"    För variabler med attributet heltal utförs atitmetisk beräkning (se\n"
"    kommandot \"let\") när variabeln tilldelas ett värde.\n"
"    \n"
"    Vid användning i en funktion gör \"declare\" NAMN lokala, som med "
"kommandot\n"
"    \"local\".\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges eller ett fel "
"inträffar."

#: builtins.c:512
msgid ""
"Set variable values and attributes.\n"
"    \n"
"    Obsolete.  See `help declare'."
msgstr ""
"Sätt variabelvärden och -attribut.\n"
"    \n"
"    Föråldrat.  Se \"help declare\"."

#: builtins.c:520
msgid ""
"Define local variables.\n"
"    \n"
"    Create a local variable called NAME, and give it VALUE.  OPTION can\n"
"    be any option accepted by `declare'.\n"
"    \n"
"    Local variables can only be used within a function; they are visible\n"
"    only to the function where they are defined and its children.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied, an error occurs,\n"
"    or the shell is not executing a function."
msgstr ""
"Definiera lokala variabler.\n"
"    \n"
"    Skapa en lokal variabel kallad NAMN, och ge den VÄRDE.  FLAGGA kan\n"
"    vara alla flaggor som accepteras av \"declare\".\n"
"    \n"
"    Lokala variabler kan endast användas i en funktion; de är synliga "
"endast\n"
"    för funktionen de definieras i och dess barn.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges, ett fel inträffar\n"
"    eller skalet inte exekverar en funktion."

#: builtins.c:537
msgid ""
"Write arguments to the standard output.\n"
"    \n"
"    Display the ARGs on the standard output followed by a newline.\n"
"    \n"
"    Options:\n"
"      -n\tdo not append a newline\n"
"      -e\tenable interpretation of the following backslash escapes\n"
"      -E\texplicitly suppress interpretation of backslash escapes\n"
"    \n"
"    `echo' interprets the following backslash-escaped characters:\n"
"      \\a\talert (bell)\n"
"      \\b\tbackspace\n"
"      \\c\tsuppress further output\n"
"      \\e\tescape character\n"
"      \\f\tform feed\n"
"      \\n\tnew line\n"
"      \\r\tcarriage return\n"
"      \\t\thorizontal tab\n"
"      \\v\tvertical tab\n"
"      \\\\\tbackslash\n"
"      \\0nnn\tthe character whose ASCII code is NNN (octal).  NNN can be\n"
"    \t0 to 3 octal digits\n"
"      \\xHH\tthe eight-bit character whose value is HH (hexadecimal).  HH\n"
"    \tcan be one or two hex digits\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless a write error occurs."
msgstr ""
"Skriv argument på standard ut.\n"
"    \n"
"    Visa ARGumenten på standard ut följt av en nyrad.\n"
"    \n"
"    Flaggor:\n"
"      -n\tlägg inte till en nyrad\n"
"      -e\taktivera tolkning av nedanstående specialsekvenser\n"
"      -E\tundertryck uttryckligen tolkning av specialsekvenser\n"
"    \n"
"    \"echo\" tolkar följande bakstrecksekvenser:\n"
"      \\a\talarm (klocka)\n"
"      \\b\tbacksteg\n"
"      \\c\tundertryck följande utdata\n"
"      \\e\tescape-tecknet\n"
"      \\f\tsidmatning\n"
"      \\n\tnyrad\n"
"      \\r\tvagnretur\n"
"      \\t\thorisontell tabulator\n"
"      \\v\tvertikal tabulator\n"
"      \\\\\tbakstreck\n"
"      \\0nnn\ttecknet vars ASCII-kod är NNN (oktalt).  NNN kan vara\n"
"    \t0 till 3 oktala siffror\n"
"      \\xHH\tdet åttabitarstecken vars värde är HH (hexadecimalt).  HH\n"
"    \tkan vara en eller två hexadecimala siffror\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte ett skrivfel inträffar."

#: builtins.c:571
msgid ""
"Write arguments to the standard output.\n"
"    \n"
"    Display the ARGs on the standard output followed by a newline.\n"
"    \n"
"    Options:\n"
"      -n\tdo not append a newline\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless a write error occurs."
msgstr ""
"Skriv argument på standard ut.\n"
"    \n"
"    Visa ARGumenten på standard ut följt av en nyrad.\n"
"    \n"
"    Flaggor:\n"
"      -n\tlägg inte till en nyrad\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte ett skrivfel inträffar."

#: builtins.c:586
msgid ""
"Enable and disable shell builtins.\n"
"    \n"
"    Enables and disables builtin shell commands.  Disabling allows you to\n"
"    execute a disk command which has the same name as a shell builtin\n"
"    without using a full pathname.\n"
"    \n"
"    Options:\n"
"      -a\tprint a list of builtins showing whether or not each is enabled\n"
"      -n\tdisable each NAME or display a list of disabled builtins\n"
"      -p\tprint the list of builtins in a reusable format\n"
"      -s\tprint only the names of Posix `special' builtins\n"
"    \n"
"    Options controlling dynamic loading:\n"
"      -f\tLoad builtin NAME from shared object FILENAME\n"
"      -d\tRemove a builtin loaded with -f\n"
"    \n"
"    Without options, each NAME is enabled.\n"
"    \n"
"    To use the `test' found in $PATH instead of the shell builtin\n"
"    version, type `enable -n test'.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
"Aktivera och avaktivera inbyggda kommandon i skalet.\n"
"    \n"
"    Aktiverar och avaktiverar inbyggda skalkommandon.  Avaktivering låter\n"
"    dig exekvera diskkommandon som har samma namn som ett inbyggt\n"
"    skalkommando utan att använda en fullständig sökväg.\n"
"    \n"
"    Flaggor:\n"
"      -a\tskriv en lista av inbyggda kommando och visa om de är\n"
"    \taktiverade eller ej\n"
"      -n\tavaktivera varje NAMN eller visa en lista av avaktiverade\n"
"    \tkommandon\n"
"      -p\tskriv listan av inbyggda kommandon på en återanvändningsbar\n"
"    \tform\n"
"      -s\tskriv endast namnen på Posix \"special\"-inbyggda\n"
"    \n"
"    Flaggor som styr dynamisk inläsning:\n"
"      -f\tLäs int inbyggt NAMN från en delad objektfil FILNAMN\n"
"      -d\tTa bort en inbyggd inläst med -f\n"
"    \n"
"    Utan flaggor aktiveras varje NAMN.\n"
"    \n"
"    För att använda den \"test\" som finns i sökvägen istället för den i\n"
"    skalet inbyggda versionen, skriv \"enable -n test\".\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte NAMN inte är inbyggd i skalet eller ett fel\n"
"    inträffar."

#: builtins.c:614
msgid ""
"Execute arguments as a shell command.\n"
"    \n"
"    Combine ARGs into a single string, use the result as input to the "
"shell,\n"
"    and execute the resulting commands.\n"
"    \n"
"    Exit Status:\n"
"    Returns exit status of command or success if command is null."
msgstr ""
"Exekvera argument som ett skalkommando.\n"
"    \n"
"    Kombinera ARGument till en enda sträng, och använd resultatet som "
"indata\n"
"    till skalet och exekvera de resulterande kommandona.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar slutstatus av kommandot eller framgång om kommandot är tomt."

#: builtins.c:626
msgid ""
"Parse option arguments.\n"
"    \n"
"    Getopts is used by shell procedures to parse positional parameters\n"
"    as options.\n"
"    \n"
"    OPTSTRING contains the option letters to be recognized; if a letter\n"
"    is followed by a colon, the option is expected to have an argument,\n"
"    which should be separated from it by white space.\n"
"    \n"
"    Each time it is invoked, getopts will place the next option in the\n"
"    shell variable $name, initializing name if it does not exist, and\n"
"    the index of the next argument to be processed into the shell\n"
"    variable OPTIND.  OPTIND is initialized to 1 each time the shell or\n"
"    a shell script is invoked.  When an option requires an argument,\n"
"    getopts places that argument into the shell variable OPTARG.\n"
"    \n"
"    getopts reports errors in one of two ways.  If the first character\n"
"    of OPTSTRING is a colon, getopts uses silent error reporting.  In\n"
"    this mode, no error messages are printed.  If an invalid option is\n"
"    seen, getopts places the option character found into OPTARG.  If a\n"
"    required argument is not found, getopts places a ':' into NAME and\n"
"    sets OPTARG to the option character found.  If getopts is not in\n"
"    silent mode, and an invalid option is seen, getopts places '?' into\n"
"    NAME and unsets OPTARG.  If a required argument is not found, a '?'\n"
"    is placed in NAME, OPTARG is unset, and a diagnostic message is\n"
"    printed.\n"
"    \n"
"    If the shell variable OPTERR has the value 0, getopts disables the\n"
"    printing of error messages, even if the first character of\n"
"    OPTSTRING is not a colon.  OPTERR has the value 1 by default.\n"
"    \n"
"    Getopts normally parses the positional parameters ($0 - $9), but if\n"
"    more arguments are given, they are parsed instead.\n"
"    \n"
"    Exit Status:\n"
"    Returns success if an option is found; fails if the end of options is\n"
"    encountered or an error occurs."
msgstr ""
"Tolka flaggargument.\n"
"    \n"
"    Getopts används av skalprocedurer för att tolka positionsparametrar\n"
"    som flaggor.\n"
"    \n"
"    FLGSTRÄNG innehåller de flaggtecken som skall kännas igen.  Om ett\n"
"    tecken följs av ett kolon förväntas flaggan ha ett argument, som\n"
"    skall separeras från den med blanktecken.\n"
"    \n"
"    Varje gång det anropas kommer getopts placera nästa flagga i skal-\n"
"    variabeln $namn, initiera namnet om det inte redan finns, och\n"
"    index på nästa argument läggas i skalvariabeln OPTIND.  OPTIND\n"
"    initieras till 1 varje gång skalet eller ett skalskrpt startas.  När\n"
"    en flagga behöver ett argument placerar getopts det argumentet i\n"
"    skalvariabeln OPTARG.\n"
"    \n"
"    getopts rapporterar fel på ett av två sätt.  Om det första tecknet\n"
"    i OPTSTRING är ett kolon använder getopts tyst felrapportering.  I\n"
"    detta läge skrivs inget felmeddelande ut.  Om en ogiltig flagga ses\n"
"    placerar getopts det funna flaggtecknet i OPTARG.  Om ett nödvändigt\n"
"    argument inte finns placerar getopts ett \":\" i NAMN och sätter OPTARG\n"
"    till det funna flaggtecknet.  Om getopts inte är i tyst läge och en\n"
"    felaktig flagga upptäcks placerar getopts \"?\" i NAMN och tar bort\n"
"    OPTARG.  Om ett nödvändigt argument inte hittas placeras ett \"?\" i\n"
"    NAMN, OPTARG tas bort och ett felmeddelande skrivs.\n"
"    \n"
"    Om skalvariabeln OPTERR har värdet 0 avaktiverar getopts utskriften\n"
"    av felmeddelanden, även om det första tecknet i FLGSTRÄNG inte är ett\n"
"    kolon.  OPTERR har värdet 1 som standard.\n"
"    \n"
"    Getopts tolkar normalt positionsparametrarna ($0 - $9), men om fler\n"
"    argument ges tolkas de istället.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om en flagga hittas, misslyckas om slutet av\n"
"    flaggorna nås eller ett fel inträffar."

#: builtins.c:668
msgid ""
"Replace the shell with the given command.\n"
"    \n"
"    Execute COMMAND, replacing this shell with the specified program.\n"
"    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not "
"specified,\n"
"    any redirections take effect in the current shell.\n"
"    \n"
"    Options:\n"
"      -a name\tpass NAME as the zeroth argument to COMMAND\n"
"      -c\t\texecute COMMAND with an empty environment\n"
"      -l\t\tplace a dash in the zeroth argument to COMMAND\n"
"    \n"
"    If the command cannot be executed, a non-interactive shell exits, "
"unless\n"
"    the shell option `execfail' is set.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless COMMAND is not found or a redirection error "
"occurs."
msgstr ""
"Ersätt skalet med det givna kommandot.\n"
"    \n"
"    Exekvera KOMMANDO genom att ersätta detta skal med det angivna "
"programmet.\n"
"    ARGUMENT blir argument till KOMMANDO.  Om KOMMANDO inte anges kommer\n"
"    eventuella omdirigeringar att gälla för det aktuella skalet.\n"
"    \n"
"    Flaggor:\n"
"      -a namn\tskicka NAMN som det nollte argumentet till KOMMANDO\n"
"      -c\texekvera KOMMANDO med en tom miljö\n"
"      -l\tplacera ett streck i det nollte argumentet till KOMMANDO\n"
"    \n"
"    Om kommandot inte kan exekveras avslutar ett ickeinteraktivt skal, om\n"
"    inte skalflaggan \"execfail\" är satt.\n"
"    \n"
"    Sluttatus:\n"
"    Returnerar framgång om inte KOMMANDO inte finns eller ett fel vid\n"
"    omdirigering inträffar."

#: builtins.c:689
msgid ""
"Exit the shell.\n"
"    \n"
"    Exits the shell with a status of N.  If N is omitted, the exit status\n"
"    is that of the last command executed."
msgstr ""
"Avsluta skalet.\n"
"    \n"
"    Avslutar skalet med statusen N.  Om N utelämnas är slutstatusen den\n"
"    hos det sist körda kommandot."

#: builtins.c:698
msgid ""
"Exit a login shell.\n"
"    \n"
"    Exits a login shell with exit status N.  Returns an error if not "
"executed\n"
"    in a login shell."
msgstr ""
"Avsluta ett inloggningsskal.\n"
"    \n"
"    Avslutar ett inloggningsskal med slutstatus N.  Returnerar ett fel om\n"
"    det inte körs i ett inloggningsskal."

#: builtins.c:708
msgid ""
"Display or execute commands from the history list.\n"
"    \n"
"    fc is used to list or edit and re-execute commands from the history "
"list.\n"
"    FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
"    string, which means the most recent command beginning with that\n"
"    string.\n"
"    \n"
"    Options:\n"
"      -e ENAME\tselect which editor to use.  Default is FCEDIT, then "
"EDITOR,\n"
"    \t\tthen vi\n"
"      -l \tlist lines instead of editing\n"
"      -n\tomit line numbers when listing\n"
"      -r\treverse the order of the lines (newest listed first)\n"
"    \n"
"    With the `fc -s [pat=rep ...] [command]' format, COMMAND is\n"
"    re-executed after the substitution OLD=NEW is performed.\n"
"    \n"
"    A useful alias to use with this is r='fc -s', so that typing `r cc'\n"
"    runs the last command beginning with `cc' and typing `r' re-executes\n"
"    the last command.\n"
"    \n"
"    Exit Status:\n"
"    Returns success or status of executed command; non-zero if an error "
"occurs."
msgstr ""
"Visa eller kör kommandon från historielistan.\n"
"    \n"
"    fc används för att lista eller redigera och köra om kommandon från\n"
"    historielistan.  FÖRSTA och SISTA kan vara tal som anger intervallet,\n"
"    eller så kan FÖRSTA vara en sträng, som betyder det senaste kommandot\n"
"    som börjar med den strängen.\n"
"    \n"
"    Flaggor:\n"
"      -e RNAMN\tvälj vilken redigerar som skall användas.  Standard är\n"
"    \t\tFCEDIT, sedan EDITOR, sedan vi\n"
"      -l \tlista rader istället för att redigera\n"
"      -n\tutelämna radnummer vid listningen\n"
"      -r\treversera ordningen på raderna (nyaste listas först)\n"
"    \n"
"    Med formatet \"fc -s [mnst=ers ...] [kommando]\" körs KOMMANDO om efter\n"
"    att substitutionen GAMMALT=NYTT har utförts.\n"
"    \n"
"    Ett användbart alias att använda med detta är r=\"fc -s\", så att "
"skriva\n"
"    \"r cc\" kör senaste kommandot som börjar med \"cc\" och att skriva \"r"
"\" kör\n"
"    om senaste kommandot.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång eller status på exekverat kommando, skilt från noll\n"
"    om ett fel inträffar."

#: builtins.c:738
msgid ""
"Move job to the foreground.\n"
"    \n"
"    Place the job identified by JOB_SPEC in the foreground, making it the\n"
"    current job.  If JOB_SPEC is not present, the shell's notion of the\n"
"    current job is used.\n"
"    \n"
"    Exit Status:\n"
"    Status of command placed in foreground, or failure if an error occurs."
msgstr ""
"Flytta ett jobb till förgrunden.\n"
"    \n"
"    Placera jobbet som identifieras av JOBBSPEC i förgrunden, och gör det\n"
"    till det aktuella jobbet.  Om ingen JOBBSPEC finns används skalets\n"
"    begrep om det aktuella jobbet.\n"
"    \n"
"    Slutstatus:\n"
"    Status på kommandot som placerades i förgrunden, eller misslyckande om\n"
"    ett fel inträffar."

#: builtins.c:753
msgid ""
"Move jobs to the background.\n"
"    \n"
"    Place the jobs identified by each JOB_SPEC in the background, as if "
"they\n"
"    had been started with `&'.  If JOB_SPEC is not present, the shell's "
"notion\n"
"    of the current job is used.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless job control is not enabled or an error occurs."
msgstr ""
"Flytta jobb till bakgrunden.\n"
"    \n"
"    Placera jobben som idintifieras av varje JOBBSPEC i bakgrunden som om "
"de\n"
"    hade startats med \"&\".  Om ingen JOBBSPEC finns används skalets "
"begrepp\n"
"    om det aktuella jobbet.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte jobbstyrning inte är aktiverat eller ett "
"fel\n"
"    inträffar."

#: builtins.c:767
msgid ""
"Remember or display program locations.\n"
"    \n"
"    Determine and remember the full pathname of each command NAME.  If\n"
"    no arguments are given, information about remembered commands is "
"displayed.\n"
"    \n"
"    Options:\n"
"      -d\t\tforget the remembered location of each NAME\n"
"      -l\t\tdisplay in a format that may be reused as input\n"
"      -p pathname\tuse PATHNAME is the full pathname of NAME\n"
"      -r\t\tforget all remembered locations\n"
"      -t\t\tprint the remembered location of each NAME, preceding\n"
"    \t\teach location with the corresponding NAME if multiple\n"
"    \t\tNAMEs are given\n"
"    Arguments:\n"
"      NAME\t\tEach NAME is searched for in $PATH and added to the list\n"
"    \t\tof remembered commands.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless NAME is not found or an invalid option is given."
msgstr ""
"Kom ihåg eller visa programlägen.\n"
"    \n"
"    Bestäm och kom ihåg den fullständiga sökvägen till varje kommando NAMN.\n"
"    Om inget argument ges visas information om kommandon som finns i "
"minnet.\n"
"    \n"
"    Flaggor:\n"
"      -d\t\tglöm platsen i minnet för varje NAMN\n"
"      -l\t\tvisa i ett format som kan återanvändas som indata\n"
"      -p sökväg \tanvänd SÖKVÄG som den fullständiga sökvägen till NAMN\n"
"      -r\t\tglömm alla platser i minnet\n"
"      -t\t\tskriv platsen i minnet för varje NAMN, med NAMN före\n"
"    \t\tvarje motsvarande plats om flera NAMN ges\n"
"    Argument:\n"
"      NAMN\t\tVarje NAMN söks efter i $PATH och läggs till i listan\n"
"    \t\tav kommandon i minnet.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte NAMN inte hittas eller en ogiltig flagga ges."

#: builtins.c:792
msgid ""
"Display information about builtin commands.\n"
"    \n"
"    Displays brief summaries of builtin commands.  If PATTERN is\n"
"    specified, gives detailed help on all commands matching PATTERN,\n"
"    otherwise the list of help topics is printed.\n"
"    \n"
"    Options:\n"
"      -d\toutput short description for each topic\n"
"      -m\tdisplay usage in pseudo-manpage format\n"
"      -s\toutput only a short usage synopsis for each topic matching\n"
"    \tPATTERN\n"
"    \n"
"    Arguments:\n"
"      PATTERN\tPattern specifiying a help topic\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless PATTERN is not found or an invalid option is "
"given."
msgstr ""
"Visa information om inbyggda kommandon.\n"
"    \n"
"    Visar korta sammanfattningar om inbyggda kommandon.  Om MÖNSTER anges\n"
"    ges detaljerad hjälp om alla kommandon som matchar MÖNSTER, annars "
"skrivs\n"
"    listan med hjälpämnen.\n"
"    \n"
"    Flaggor:\n"
"      -d\tvisa en kort beskrivning för varje ämne\n"
"      -m\tvisa användning i låtsas-mansideformat\n"
"      -s\tvisa endast ett kort användningsformat för varje ämne som\n"
"    \tmatchar MÖNSTER\n"
"    \n"
"    Argument:\n"
"      MÖNSTER\tMönster som anger hjälpämnen\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte MÖNSTER inte finns eller en ogiltig flagga "
"ges."

#: builtins.c:816
msgid ""
"Display or manipulate the history list.\n"
"    \n"
"    Display the history list with line numbers, prefixing each modified\n"
"    entry with a `*'.  An argument of N lists only the last N entries.\n"
"    \n"
"    Options:\n"
"      -c\tclear the history list by deleting all of the entries\n"
"      -d offset\tdelete the history entry at offset OFFSET.\n"
"    \n"
"      -a\tappend history lines from this session to the history file\n"
"      -n\tread all history lines not already read from the history file\n"
"      -r\tread the history file and append the contents to the history\n"
"    \tlist\n"
"      -w\twrite the current history to the history file\n"
"    \tand append them to the history list\n"
"    \n"
"      -p\tperform history expansion on each ARG and display the result\n"
"    \twithout storing it in the history list\n"
"      -s\tappend the ARGs to the history list as a single entry\n"
"    \n"
"    If FILENAME is given, it is used as the history file.  Otherwise,\n"
"    if $HISTFILE has a value, that is used, else ~/.bash_history.\n"
"    \n"
"    If the $HISTTIMEFORMAT variable is set and not null, its value is used\n"
"    as a format string for strftime(3) to print the time stamp associated\n"
"    with each displayed history entry.  No time stamps are printed "
"otherwise.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or an error occurs."
msgstr ""
"Visa eller hantera historielistan.\n"
"    \n"
"    Visa historielistan med radnummer, inled varje modifierad post med en\n"
"    \"*\".  Ett argument N listar endast de N senaste posterna.\n"
"    \n"
"    Flaggor:\n"
"      -c\tnollställ historielistan genom att ta bort alla poster\n"
"      -d avstånd\tta bort historieposten på avstånd AVSTÅND\n"
"    \n"
"      -a\tlägg till historierader från denna session till historiefilen\n"
"      -n\tläs alla historierader som inte redan lästs från historiefilen\n"
"      -r\tläs historiefilen och lägg till innehållet till historielistan\n"
"      -w\tskriv den aktuella historien till hstoriefilen och lägg till\n"
"    \tdem till historielistan\n"
"    \n"
"      -p\tutför historieexpansion på varje ARG och visa resultatet utan\n"
"    \tatt lagra det i historielistan\n"
"      -s\tlägg till ARG till historielistan som en ensam post\n"
"    \n"
"    Om FILENAMN anges används det som historiefil.  Annars, om $HISTFILE "
"har\n"
"    ett värde används det, annars ~/.bash_history.\n"
"    \n"
"    Om variabeln $HISTTIMEFORMAT är satt och inte tom används dess värde "
"som\n"
"    en formatsträng till strftime(3) för att skriva tidsstämplar "
"tillhörande\n"
"    varje visad historiepost.  Inga tidsstämplar skrivs annars.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges eller ett fel "
"inträffar."

#: builtins.c:852
msgid ""
"Display status of jobs.\n"
"    \n"
"    Lists the active jobs.  JOBSPEC restricts output to that job.\n"
"    Without options, the status of all active jobs is displayed.\n"
"    \n"
"    Options:\n"
"      -l\tlists process IDs in addition to the normal information\n"
"      -n\tlist only processes that have changed status since the last\n"
"    \tnotification\n"
"      -p\tlists process IDs only\n"
"      -r\trestrict output to running jobs\n"
"      -s\trestrict output to stopped jobs\n"
"    \n"
"    If -x is supplied, COMMAND is run after all job specifications that\n"
"    appear in ARGS have been replaced with the process ID of that job's\n"
"    process group leader.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or an error occurs.\n"
"    If -x is used, returns the exit status of COMMAND."
msgstr ""
"Visa status på jobb.\n"
"    \n"
"    Lista de aktiva jobben.  JOBBSPEC begränsar utdata till det jobbet.\n"
"    Utan flaggor visas status på alla aktiva jobb.\n"
"    \n"
"    Flaggor:\n"
"      -l\tlistar process-id:n utöver den normala informationen\n"
"      -n\tlistar endast processer som har ändrat status sedan senaste\n"
"    \tnotifiering\n"
"      -p\tlistar endast process-id:n\n"
"      -r\tbegränsar utdata till körande jobb\n"
"      -s\tbegränsar utdata till stoppade jobb\n"
"    \n"
"    Om -x anges körs KOMMANDO efter alla jobbspecifikationer som förekommer\n"
"    i ARG har ersatts med process-id:t för det jobbets processgruppledare.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges eller ett fel "
"inträffar.\n"
"    Om -x används returneras slutstatus från KOMMANDO."

#: builtins.c:879
msgid ""
"Remove jobs from current shell.\n"
"    \n"
"    Removes each JOBSPEC argument from the table of active jobs.  Without\n"
"    any JOBSPECs, the shell uses its notion of the current job.\n"
"    \n"
"    Options:\n"
"      -a\tremove all jobs if JOBSPEC is not supplied\n"
"      -h\tmark each JOBSPEC so that SIGHUP is not sent to the job if the\n"
"    \tshell receives a SIGHUP\n"
"      -r\tremove only running jobs\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
"Ta bort jobb från det aktuella skalet.\n"
"    \n"
"    Tar bort varje JOBBSPEC-argument från tabellen över aktiva jobb.  Utan\n"
"    någon JOBBSPEC använder skalet sitt begrepp om det aktuella jobbet.\n"
"    \n"
"    Flaggor:\n"
"      -a\tta bort alla jobb om JOBBSPEC inte anges\n"
"      -h\tmärk varje JOBBSPEC så att SIGHUP inte skickas till jobbet om\n"
"    \tskalet tar emot en SIGHUP\n"
"      -r\ttar bara bort körande jobb\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga eller JOBBSPEC ges."

#: builtins.c:898
msgid ""
"Send a signal to a job.\n"
"    \n"
"    Send the processes identified by PID or JOBSPEC the signal named by\n"
"    SIGSPEC or SIGNUM.  If neither SIGSPEC nor SIGNUM is present, then\n"
"    SIGTERM is assumed.\n"
"    \n"
"    Options:\n"
"      -s sig\tSIG is a signal name\n"
"      -n sig\tSIG is a signal number\n"
"      -l\tlist the signal names; if arguments follow `-l' they are\n"
"    \tassumed to be signal numbers for which names should be listed\n"
"    \n"
"    Kill is a shell builtin for two reasons: it allows job IDs to be used\n"
"    instead of process IDs, and allows processes to be killed if the limit\n"
"    on processes that you can create is reached.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or an error occurs."
msgstr ""
"Skicka en signal till ett jobb.\n"
"    \n"
"    Skicka processerna som identifieras av PID eller JOBBSPEC signalerna "
"som\n"
"    namnges av SIGSPEC eller SIGNUM.  Om varken SIGSPEC eller SIGNUM är\n"
"    angivna antas SIGTERM.\n"
"    \n"
"    Flaggor:\n"
"      -s sig\tSIG är ett signalnamn\n"
"      -n sig\tSIG är ett signalnummer\n"
"      -l\tlista signalnamnen.  Om argument följer \"-l\" antas de vara\n"
"    \tsignalnummer som namn skall listas för\n"
"    \n"
"    Kill är inbyggt i skalet av två skäl: det tillåter att jobb-id:n "
"används\n"
"    istället för process-id:n, och det tillåter processer att dödas om "
"gränsen\n"
"    för hur många processer du får skapa har nåtts.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga angivits eller ett fel\n"
"    inträffar."

#: builtins.c:921
msgid ""
"Evaluate arithmetic expressions.\n"
"    \n"
"    Evaluate each ARG as an arithmetic expression.  Evaluation is done in\n"
"    fixed-width integers with no check for overflow, though division by 0\n"
"    is trapped and flagged as an error.  The following list of operators is\n"
"    grouped into levels of equal-precedence operators.  The levels are "
"listed\n"
"    in order of decreasing precedence.\n"
"    \n"
"    \tid++, id--\tvariable post-increment, post-decrement\n"
"    \t++id, --id\tvariable pre-increment, pre-decrement\n"
"    \t-, +\t\tunary minus, plus\n"
"    \t!, ~\t\tlogical and bitwise negation\n"
"    \t**\t\texponentiation\n"
"    \t*, /, %\t\tmultiplication, division, remainder\n"
"    \t+, -\t\taddition, subtraction\n"
"    \t<<, >>\t\tleft and right bitwise shifts\n"
"    \t<=, >=, <, >\tcomparison\n"
"    \t==, !=\t\tequality, inequality\n"
"    \t&\t\tbitwise AND\n"
"    \t^\t\tbitwise XOR\n"
"    \t|\t\tbitwise OR\n"
"    \t&&\t\tlogical AND\n"
"    \t||\t\tlogical OR\n"
"    \texpr ? expr : expr\n"
"    \t\t\tconditional operator\n"
"    \t=, *=, /=, %=,\n"
"    \t+=, -=, <<=, >>=,\n"
"    \t&=, ^=, |=\tassignment\n"
"    \n"
"    Shell variables are allowed as operands.  The name of the variable\n"
"    is replaced by its value (coerced to a fixed-width integer) within\n"
"    an expression.  The variable need not have its integer attribute\n"
"    turned on to be used in an expression.\n"
"    \n"
"    Operators are evaluated in order of precedence.  Sub-expressions in\n"
"    parentheses are evaluated first and may override the precedence\n"
"    rules above.\n"
"    \n"
"    Exit Status:\n"
"    If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
msgstr ""
"Evaluera aritmetiska uttryck.\n"
"    \n"
"    Evaluera varje ARG som ett aritmetiskt uttryck.  Evaluering görs i "
"heltal\n"
"    med fix bredd utan kontroll av spill, fast division med 0 fångas och\n"
"    flaggas som ett fel.  Följande lista över operatorer är grupperad i\n"
"    nivåer av operatorer med samma precedens.  Nivåerna är listade i "
"ordning\n"
"    med sjunkande precedens.\n"
"    \n"
"    \tid++, id--\tpostinkrementering av variabel, postdekrementering\n"
"    \t++id, --id\tpreinkrementering av variabel, predekrementering\n"
"    \t-, +\t\tunärt minus, plus\n"
"    \t!, ~\t\tlogisk och bitvis negering\n"
"    \t**\t\texponentiatiering\n"
"    \t*, /, %\t\tmultiplikation, division, rest\n"
"    \t+, -\t\taddition, subtraktion\n"
"    \t<<, >>\t\tvänster och höger bitvisa skift\n"
"    \t<=, >=, <, >\tjämförelse\n"
"    \t==, !=\t\tlikhet, olikhet\n"
"    \t&\t\tbitvis OCH\n"
"    \t^\t\tbitvis EXKLUSIVT ELLER\n"
"    \t|\t\tbitvis ELLER\n"
"    \t&&\t\tlogiskt OCH\n"
"    \t||\t\tlogiskt ELLER\n"
"    \tuttf ? uttr : uttr\n"
"    \t\t\tvillkorlig operator\n"
"    \t=, *=, /=, %=,\n"
"    \t+=, -=, <<=, >>=,\n"
"    \t&=, ^=, |=\ttilldelning\n"
"    \n"
"    Skalvariabler är tillåtna som operander.  namnet på variablerna ersätts\n"
"    med deras värde (omformat till ett heltal med fix bredd) inom ett\n"
"    uttryck.  Variablerna behöver inte ha sina heltalsattribut påslagna för\n"
"    att användas i ett uttryck.\n"
"    \n"
"    Operatorer beräknas i precedensordning.  Delutryck i parenteser "
"beräknas\n"
"    först och kan åsidosätta precedensreglerna ovan.\n"
"    \n"
"    Slutstatus:\n"
"    Om det sista ARG beräknas till 0, returnerar let 1; let returnerar 0 "
"annars."

#: builtins.c:966
#, fuzzy
msgid ""
"Read a line from the standard input and split it into fields.\n"
"    \n"
"    Reads a single line from the standard input, or from file descriptor FD\n"
"    if the -u option is supplied.  The line is split into fields as with "
"word\n"
"    splitting, and the first word is assigned to the first NAME, the second\n"
"    word to the second NAME, and so on, with any leftover words assigned to\n"
"    the last NAME.  Only the characters found in $IFS are recognized as "
"word\n"
"    delimiters.\n"
"    \n"
"    If no NAMEs are supplied, the line read is stored in the REPLY "
"variable.\n"
"    \n"
"    Options:\n"
"      -a array\tassign the words read to sequential indices of the array\n"
"    \t\tvariable ARRAY, starting at zero\n"
"      -d delim\tcontinue until the first character of DELIM is read, rather\n"
"    \t\tthan newline\n"
"      -e\t\tuse Readline to obtain the line in an interactive shell\n"
"      -i text\tUse TEXT as the initial text for Readline\n"
"      -n nchars\treturn after reading NCHARS characters rather than waiting\n"
"    \t\tfor a newline, but honor a delimiter if fewer than NCHARS\n"
"    \t\tcharacters are read before the delimiter\n"
"      -N nchars\treturn only after reading exactly NCHARS characters, "
"unless\n"
"    \t\tEOF is encountered or read times out, ignoring any delimiter\n"
"      -p prompt\toutput the string PROMPT without a trailing newline before\n"
"    \t\tattempting to read\n"
"      -r\t\tdo not allow backslashes to escape any characters\n"
"      -s\t\tdo not echo input coming from a terminal\n"
"      -t timeout\ttime out and return failure if a complete line of input "
"is\n"
"    \t\tnot read withint TIMEOUT seconds.  The value of the TMOUT\n"
"    \t\tvariable is the default timeout.  TIMEOUT may be a\n"
"    \t\tfractional number.  If TIMEOUT is 0, read returns success only\n"
"    \t\tif input is available on the specified file descriptor.  The\n"
"    \t\texit status is greater than 128 if the timeout is exceeded\n"
"      -u fd\t\tread from file descriptor FD instead of the standard input\n"
"    \n"
"    Exit Status:\n"
"    The return code is zero, unless end-of-file is encountered, read times "
"out,\n"
"    or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
"Läs en rad från standard in och dela upp den i fält.\n"
"    \n"
"    Läser en ensam rad från standard in, eller från filbeskrivare FB om\n"
"    flaggan -u ges.  Raden delas upp i fält som vid orduppdelning, och "
"första\n"
"    ordet tilldelas det första NAMNet, andra ordet till det andra NAMNet, "
"och\n"
"    så vidare, med eventuella återstående ord tilldelade till det sista\n"
"    NAMNet.  Endast tecknen som finns i $IFS används som ordavgränsare.\n"
"    \n"
"    Om inga NAMN anges, lagras den inlästa raden i variabeln REPLY.\n"
"    \n"
"    Flaggor:\n"
"      -a vektor\ttilldela de inlästa orden till sekvensiella index i "
"vektor-\n"
"    \t\tvariabeln VEKTOR, med start från noll\n"
"      -d avgr\tfortsätt tills det första tecknet i AVGR lästs, istället för\n"
"    \t\tnyrad\n"
"      -e\t\tanvänd Readline för att få in raden i ett interaktivt\n"
"    \t\t\tskal\n"
"      -i text\tAnvänd TEXT som starttext för Readline\n"
"      -n ntkn\treturnera efter att ha läst NTKN tecken istället för att\n"
"    \t\tvänta på en nyrad\n"
"      -p prompt\tskriv ut strängen PROMPT utan en avslutande nyrad före\n"
"    \t\tförsök att läsa\n"
"      -r\t\ttillåt inte bakstreck att skydda några tecken\n"
"      -s\t\teka inte indata som kommer från terminalen\n"
"      -t tidgräns\tsluta vänta och returnera misslyckande om inte en\n"
"    \t\tkomplett rad lästs inom TIDSGRÄNS sekunder.  Värdet på variabeln\n"
"    \t\tTMOUT är standardvärdet på tidsgränsen.  TIDSGRÄNS kan vara ett\n"
"    \t\tbråktal.  Om TIDSGRÄNS är 0 returnerar read lyckad status bara\n"
"\t\tom det finns indata tillgängligt på den angivna filbeskrivaren.\n"
"                Slutstatus är större än 128 om tidsgränsen överskrids\n"
"      -u fb\t\tläs från filbeskrivare FB istället för standard in\n"
"    \n"
"    Slutstatus:\n"
"    Returkoden är noll om inte filslut nås, läsningens tidsgräns överskrids\n"
"    eller en ogiltig filbeskrivare ges som argument till -u."

#: builtins.c:1009
msgid ""
"Return from a shell function.\n"
"    \n"
"    Causes a function or sourced script to exit with the return value\n"
"    specified by N.  If N is omitted, the return status is that of the\n"
"    last command executed within the function or script.\n"
"    \n"
"    Exit Status:\n"
"    Returns N, or failure if the shell is not executing a function or script."
msgstr ""
"Returnera från en skalfunktion.\n"
"    \n"
"    Får en funktion eller ett källinläst skript att avsluta med returvärdet\n"
"    som anges av N.  Om N utelämnas är returstatus den hos det sista\n"
"    kommandot som körts i funktionen eller skriptet.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar N, eller misslyckande om skalet inte kör en funktion eller\n"
"    skript."

#: builtins.c:1022
msgid ""
"Set or unset values of shell options and positional parameters.\n"
"    \n"
"    Change the value of shell attributes and positional parameters, or\n"
"    display the names and values of shell variables.\n"
"    \n"
"    Options:\n"
"      -a  Mark variables which are modified or created for export.\n"
"      -b  Notify of job termination immediately.\n"
"      -e  Exit immediately if a command exits with a non-zero status.\n"
"      -f  Disable file name generation (globbing).\n"
"      -h  Remember the location of commands as they are looked up.\n"
"      -k  All assignment arguments are placed in the environment for a\n"
"          command, not just those that precede the command name.\n"
"      -m  Job control is enabled.\n"
"      -n  Read commands but do not execute them.\n"
"      -o option-name\n"
"          Set the variable corresponding to option-name:\n"
"              allexport    same as -a\n"
"              braceexpand  same as -B\n"
"              emacs        use an emacs-style line editing interface\n"
"              errexit      same as -e\n"
"              errtrace     same as -E\n"
"              functrace    same as -T\n"
"              hashall      same as -h\n"
"              histexpand   same as -H\n"
"              history      enable command history\n"
"              ignoreeof    the shell will not exit upon reading EOF\n"
"              interactive-comments\n"
"                           allow comments to appear in interactive commands\n"
"              keyword      same as -k\n"
"              monitor      same as -m\n"
"              noclobber    same as -C\n"
"              noexec       same as -n\n"
"              noglob       same as -f\n"
"              nolog        currently accepted but ignored\n"
"              notify       same as -b\n"
"              nounset      same as -u\n"
"              onecmd       same as -t\n"
"              physical     same as -P\n"
"              pipefail     the return value of a pipeline is the status of\n"
"                           the last command to exit with a non-zero status,\n"
"                           or zero if no command exited with a non-zero "
"status\n"
"              posix        change the behavior of bash where the default\n"
"                           operation differs from the Posix standard to\n"
"                           match the standard\n"
"              privileged   same as -p\n"
"              verbose      same as -v\n"
"              vi           use a vi-style line editing interface\n"
"              xtrace       same as -x\n"
"      -p  Turned on whenever the real and effective user ids do not match.\n"
"          Disables processing of the $ENV file and importing of shell\n"
"          functions.  Turning this option off causes the effective uid and\n"
"          gid to be set to the real uid and gid.\n"
"      -t  Exit after reading and executing one command.\n"
"      -u  Treat unset variables as an error when substituting.\n"
"      -v  Print shell input lines as they are read.\n"
"      -x  Print commands and their arguments as they are executed.\n"
"      -B  the shell will perform brace expansion\n"
"      -C  If set, disallow existing regular files to be overwritten\n"
"          by redirection of output.\n"
"      -E  If set, the ERR trap is inherited by shell functions.\n"
"      -H  Enable ! style history substitution.  This flag is on\n"
"          by default when the shell is interactive.\n"
"      -P  If set, do not follow symbolic links when executing commands\n"
"          such as cd which change the current directory.\n"
"      -T  If set, the DEBUG trap is inherited by shell functions.\n"
"      -   Assign any remaining arguments to the positional parameters.\n"
"          The -x and -v options are turned off.\n"
"    \n"
"    Using + rather than - causes these flags to be turned off.  The\n"
"    flags can also be used upon invocation of the shell.  The current\n"
"    set of flags may be found in $-.  The remaining n ARGs are positional\n"
"    parameters and are assigned, in order, to $1, $2, .. $n.  If no\n"
"    ARGs are given, all shell variables are printed.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given."
msgstr ""
"Sätt eller ta bort satta värden på skalflaggor och positionsparametrar.\n"
"    \n"
"    Ändra värdet på skalattribut och positionsparametrar, eller visa namnen\n"
"    och värdena på skalvariabler.\n"
"    \n"
"    Flaggor:\n"
"      -a  Markera variabler om ändras eller skapas för export.\n"
"      -b  Rapportera om avlutade jobb omedelbart.\n"
"      -e  Avsluta omedelbart om ett kommando avslutar med nollskild status.\n"
"      -f  Avaktivera filnamnsgenerering (globbing).\n"
"      -h  Kom ihåg platsen för kommandon när de slås upp.\n"
"      -k  Alla tilldelningsargument placeras i miljön för ett kommando, "
"inte\n"
"          bara de som föregår kommandonamnet.\n"
"      -m  Jobbstyrning är aktiverat.\n"
"      -n  Läs kommandon men exekvera dem inte.\n"
"      -o flaggnamn\n"
"          Sätt variabeln som motsvarar flaggnamn:\n"
"              allexport    samma som -a\n"
"              braceexpand  samma som -B\n"
"              emacs        använd radredigeringsgränssnitt i emacsstil\n"
"              errexit      samma som -e\n"
"              errtrace     samma som -E\n"
"              functrace    samma som -T\n"
"              hashall      samma som -h\n"
"              histexpand   samma som -H\n"
"              history      aktivera kommandohistoria\n"
"              ignoreeof    skalet kommer inte avsluta vid läsning av "
"filslut\n"
"              interactive-comments\n"
"                           tillåt kommentarer att förekomma i interaktiva\n"
"                           kommandon\n"
"              keyword      samma som -k\n"
"              monitor      samma som -m\n"
"              noclobber    samma som -C\n"
"              noexec       samma som -n\n"
"              noglob       samma som -f\n"
"              nolog        accepteras men ignoreras för närvarande\n"
"              notify       samma som -b\n"
"              nounset      samma som -u\n"
"              onecmd       samma som -t\n"
"              physical     samma som -P\n"
"              pipefail     returvärdet av ett rör är status på det sista\n"
"                           kommandot som avslutas med en status skild från\n"
"                           noll, eller nol om inget kommando avslutas med\n"
"                           en status skild från noll\n"
"              posix        ändra beteendet på bash där standardbeteendet\n"
"                           skiljer sig från Posixstandarden till att stämma\n"
"                           med standarden\n"
"              privileged   samma som -p\n"
"              verbose      samma som -v\n"
"              vi           använd radredigeringsgränssnitt i vi-stil\n"
"              xtrace       samma som -x\n"
"      -p  Slås på när den verkliga och effektiva användar-id:n inte stämmer\n"
"          överens.  Avaktiverar bearbetning av $ENV-filen och import av\n"
"          skalfunktioner.  Att slå av denna flagga får den effektiva uid "
"och\n"
"          gid att sättas till den verkliga uid och gid.\n"
"      -t  Avsluta efter att ha läst och exekverat ett kommando.\n"
"      -u  Behandla osatta variabler som fel vid substitution.\n"
"      -v  Skriv skalindatarader allteftersom de läses.\n"
"      -x  Skriv kommandon och deras argument allteftersom de körs.\n"
"      -B  skalet kommer utföra klammerexpansion\n"
"      -C  Om satt tillåts inte existerande normala filer att skrivas över\n"
"          av omdirigering av utdata.\n"
"      -E  Om satt ärvs ERR-fällan av skalfunktioner.\n"
"      -H  Aktivera historiesubstituion i !-stil.  Denna flagga är på som\n"
"          standard när skalet är interaktivt.\n"
"      -P  Om satt följs inte symboliska länkar när kommandon såsom cd körs\n"
"          som ändrar aktuell katalog.\n"
"      -T  Om satt ärvs DEBUG-fällan av skalfunktioner.\n"
"      -   Tilldela eventuella återstående argument till "
"positionsparametrar.\n"
"          Flaggorna -x och -v slås av.\n"
"    \n"
"    Användning av + istället för - får dessa flaggor att slås av.  "
"Flaggorna\n"
"    kan även användas vid uppstart av skalet.  Den aktuella uppsättningen\n"
"    flaggor finns i $-.  De återstående n ARGumenten är positionsparametrar\n"
"    och tilldelas, i ordning, till $1, $2, .. $n.  Om inga ARGument ges\n"
"    skrivs alla skalvariabler ut.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges."

#: builtins.c:1104
msgid ""
"Unset values and attributes of shell variables and functions.\n"
"    \n"
"    For each NAME, remove the corresponding variable or function.\n"
"    \n"
"    Options:\n"
"      -f\ttreat each NAME as a shell function\n"
"      -v\ttreat each NAME as a shell variable\n"
"    \n"
"    Without options, unset first tries to unset a variable, and if that "
"fails,\n"
"    tries to unset a function.\n"
"    \n"
"    Some variables cannot be unset; also see `readonly'.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
"Ta bort värden och attribut på skalvariabler och -funktioner.\n"
"    \n"
"    Tag för varje NAMN bort motsvarande variabel eller funktion.\n"
"    \n"
"    Flaggor:\n"
"      -f\tbehandla varje NAMN som en skalfunktion\n"
"      -v\tbehandla varje NAMN som en skalvariabel\n"
"    \n"
"    Utan flaggor försöker unset först att ta bort en variabel, och, om det\n"
"    misslyckas, försöker den ta bort en funktion.\n"
"    \n"
"    Några variabler kan inte tas bort, se även \"readonly\".\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges eller NAMN endast är\n"
"    läsbart."

#: builtins.c:1124
msgid ""
"Set export attribute for shell variables.\n"
"    \n"
"    Marks each NAME for automatic export to the environment of subsequently\n"
"    executed commands.  If VALUE is supplied, assign VALUE before "
"exporting.\n"
"    \n"
"    Options:\n"
"      -f\trefer to shell functions\n"
"      -n\tremove the export property from each NAME\n"
"      -p\tdisplay a list of all exported variables and functions\n"
"    \n"
"    An argument of `--' disables further option processing.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
"Sätt exportattribut på skalvariabler.\n"
"    \n"
"    Markerar varje NAMN för automatisk export till miljön för senare\n"
"    exekverade kommandon.  Om VÄRDE anges tilldelas VÄRDE före export.\n"
"    \n"
"    Flaggor:\n"
"      -f\treferera till skalfunktioner\n"
"      -n\tta bort exportegenskapen från varje NAMN\n"
"      -p\tvisa en lista av alla exporterade variabler och funktioner\n"
"    \n"
"    Ett argument \"--\" avslutar vidare flaggbearbetning.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges eller NAMN är ogiltigt."

#: builtins.c:1143
msgid ""
"Mark shell variables as unchangeable.\n"
"    \n"
"    Mark each NAME as read-only; the values of these NAMEs may not be\n"
"    changed by subsequent assignment.  If VALUE is supplied, assign VALUE\n"
"    before marking as read-only.\n"
"    \n"
"    Options:\n"
"      -a\trefer to indexed array variables\n"
"      -A\trefer to associative array variables\n"
"      -f\trefer to shell functions\n"
"      -p\tdisplay a list of all readonly variables and functions\n"
"    \n"
"    An argument of `--' disables further option processing.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
"Markera skalvariabler som oföränderliga.\n"
"    \n"
"    Markera varje NAMN som oföränderligt.  Värdena på dessa NAMN kan inte\n"
"    ändras av senare tilldelningar.  Om VÄRDE anges tilldelas VÄRDE före\n"
"    variabeln markeras oföränderlig.\n"
"    \n"
"    Flaggor:\n"
"      -a\treferera till indexerade vektorvariabler\n"
"      -A\trefererar till assoicativa vektorvariabler\n"
"      -f\treferara till skalfunktioner\n"
"      -p\tvisa en lista över alla oföränderliga variabler och funktioner\n"
"    \n"
"    Ett argument \"--\" avslutar vidare flaggbearbetning.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges eller NAMN är ogiltigt."

#: builtins.c:1164
msgid ""
"Shift positional parameters.\n"
"    \n"
"    Rename the positional parameters $N+1,$N+2 ... to $1,$2 ...  If N is\n"
"    not given, it is assumed to be 1.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless N is negative or greater than $#."
msgstr ""
"Skifta positionsparametrar.\n"
"    \n"
"    Byt namn på positionsparametrarna $N+1,$N+2 ... till $1,$2 ...  Om N "
"inte\n"
"    anges antas det vara 1.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte N är negativt eller större än $#."

#: builtins.c:1176 builtins.c:1191
msgid ""
"Execute commands from a file in the current shell.\n"
"    \n"
"    Read and execute commands from FILENAME in the current shell.  The\n"
"    entries in $PATH are used to find the directory containing FILENAME.\n"
"    If any ARGUMENTS are supplied, they become the positional parameters\n"
"    when FILENAME is executed.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed in FILENAME; fails if\n"
"    FILENAME cannot be read."
msgstr ""
"Exekvera kommandon från en fil i det aktuella skalet.\n"
"    \n"
"    Läs och exekvera kommandon från FILNAMN i det aktuella skalet.  "
"Posterna\n"
"    i $PATH används för att hitta katalogen som innehåller FILNAMN.  Om\n"
"    något ARGUMENT ges blir de positionsparametrar när FILNAMN körs.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar status på det sista kommandot som körs i FILNAMN, misslyckas\n"
"    om FILNAMN inte kan läsas."

#: builtins.c:1207
msgid ""
"Suspend shell execution.\n"
"    \n"
"    Suspend the execution of this shell until it receives a SIGCONT signal.\n"
"    Unless forced, login shells cannot be suspended.\n"
"    \n"
"    Options:\n"
"      -f\tforce the suspend, even if the shell is a login shell\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless job control is not enabled or an error occurs."
msgstr ""
"Suspendera skalexekvering.\n"
"    \n"
"    Suspendera exekveringen av detta skal tills det får en SIGCONT-signal.\n"
"    Om det inte framtvingas kan inloggningsskal inte suspenderas.\n"
"    \n"
"    Flaggor:\n"
"      -f\tframtvinga suspendering, även om skalet är ett inloggningsskal\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte jobbstyrning inte är aktiverat eller ett "
"fel\n"
"    inträffar."

#: builtins.c:1223
msgid ""
"Evaluate conditional expression.\n"
"    \n"
"    Exits with a status of 0 (true) or 1 (false) depending on\n"
"    the evaluation of EXPR.  Expressions may be unary or binary.  Unary\n"
"    expressions are often used to examine the status of a file.  There\n"
"    are string operators as well, and numeric comparison operators.\n"
"    \n"
"    File operators:\n"
"    \n"
"      -a FILE        True if file exists.\n"
"      -b FILE        True if file is block special.\n"
"      -c FILE        True if file is character special.\n"
"      -d FILE        True if file is a directory.\n"
"      -e FILE        True if file exists.\n"
"      -f FILE        True if file exists and is a regular file.\n"
"      -g FILE        True if file is set-group-id.\n"
"      -h FILE        True if file is a symbolic link.\n"
"      -L FILE        True if file is a symbolic link.\n"
"      -k FILE        True if file has its `sticky' bit set.\n"
"      -p FILE        True if file is a named pipe.\n"
"      -r FILE        True if file is readable by you.\n"
"      -s FILE        True if file exists and is not empty.\n"
"      -S FILE        True if file is a socket.\n"
"      -t FD          True if FD is opened on a terminal.\n"
"      -u FILE        True if the file is set-user-id.\n"
"      -w FILE        True if the file is writable by you.\n"
"      -x FILE        True if the file is executable by you.\n"
"      -O FILE        True if the file is effectively owned by you.\n"
"      -G FILE        True if the file is effectively owned by your group.\n"
"      -N FILE        True if the file has been modified since it was last "
"read.\n"
"    \n"
"      FILE1 -nt FILE2  True if file1 is newer than file2 (according to\n"
"                       modification date).\n"
"    \n"
"      FILE1 -ot FILE2  True if file1 is older than file2.\n"
"    \n"
"      FILE1 -ef FILE2  True if file1 is a hard link to file2.\n"
"    \n"
"    String operators:\n"
"    \n"
"      -z STRING      True if string is empty.\n"
"    \n"
"      -n STRING\n"
"         STRING      True if string is not empty.\n"
"    \n"
"      STRING1 = STRING2\n"
"                     True if the strings are equal.\n"
"      STRING1 != STRING2\n"
"                     True if the strings are not equal.\n"
"      STRING1 < STRING2\n"
"                     True if STRING1 sorts before STRING2 "
"lexicographically.\n"
"      STRING1 > STRING2\n"
"                     True if STRING1 sorts after STRING2 lexicographically.\n"
"    \n"
"    Other operators:\n"
"    \n"
"      -o OPTION      True if the shell option OPTION is enabled.\n"
"      ! EXPR         True if expr is false.\n"
"      EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
"      EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
"    \n"
"      arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,\n"
"                     -lt, -le, -gt, or -ge.\n"
"    \n"
"    Arithmetic binary operators return true if ARG1 is equal, not-equal,\n"
"    less-than, less-than-or-equal, greater-than, or greater-than-or-equal\n"
"    than ARG2.\n"
"    \n"
"    Exit Status:\n"
"    Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
"    false or an invalid argument is given."
msgstr ""
"Beräkna villkorligt uttryck.\n"
"    \n"
"    Avslutar med en status på 0 (sant) eller 1 (falskt) beroende på\n"
"    beräkningen av UTTR.  Uttryck kan vara unära eller binära.  Unära\n"
"    uttryck är ofta till för att undersöka status för en fil.  Det finns\n"
"    stränoperatorer också, och numeriska jämförelseoperatoer.\n"
"    \n"
"    Filoperatorer:\n"
"    \n"
"      -a FIL         Sant om filen finns.\n"
"      -b FIL         Sant om filen är en blockspecialfil.\n"
"      -c FIL         Sant om filen är en teckenspecialfil.\n"
"      -d FIL         Sant om filen är en katalog.\n"
"      -e FIL         Sant om filen finns.\n"
"      -f FIL         Sant om filen finns, och är en normal fil.\n"
"      -g FIL         Sant om filen är sätt-gruppid.\n"
"      -h FIL         Sant om filen är en symbolisk länk.\n"
"      -L FIL         Sant om filen är en symbolisk länk.\n"
"      -k FIL         Sant om filen har \"fastbiten\" satt.\n"
"      -p FIL         Sant om filen är ett namngivet rör.\n"
"      -r FIL         Sant om filen kan läsas av dig.\n"
"      -s FIL         Sant om filen finns och inte är tom.\n"
"      -S FIL         Sant om filen är ett uttag (socket).\n"
"      -t FB          Sant om FB är öppnad mot en terminal.\n"
"      -u FIL         Sant om filen är sätt-användarid.\n"
"      -w FIL         Sant om filen är skrivbar av dig.\n"
"      -x FIL         Sant om filen är exekverbar av dig.\n"
"      -O FIL         Sant om filen ägs av din verksamma användare.\n"
"      -G FIL         Sant om filen ägs av din verksamma grupp.\n"
"      -N FIL         Sant om filen har ändrats sedan den sist lästes.\n"
"    \n"
"      FIL1 -nt FIL2  Sant om fil1 är nyare än fil2 (enligt\n"
"                     modifieringsdatum).\n"
"    \n"
"      FIL1 -ot FIL2  Sant om fil1 är äldre än fil2.\n"
"    \n"
"      FIL1 -ef FIL2  Sant om fil1 är en hård länk till fil2.\n"
"    \n"
"    Strängoperatorer:\n"
"    \n"
"      -z STRÄNG      Sant om strängen är tom.\n"
"    \n"
"      -n STRÄNG\n"
"         STRÄNG      Sant om strängen inte är tom.\n"
"    \n"
"      STRÄNG1 = STRÄNG2\n"
"                     Sant om strängarna är lika.\n"
"      STRÄNG1 != STRÄNG2\n"
"                     Sant om strängarna inte är lika.\n"
"      STRÄNG1 < STRÄNG2\n"
"                     Sant om STRÄNG1 kommer före STRÄNG2 lexikografiskt.\n"
"      STRÄNG1 > STRÄNG2\n"
"                     Sant om STRÄNG1 kommer efter STRÄNG2 lexikografiskt.\n"
"    \n"
"    Andra operatorer:\n"
"    \n"
"      -o FLAGGA      Sant om skalflaggan FLAGGA är aktiv.\n"
"      ! UTTR         Sant om uttr är falskt.\n"
"      UTTR1 -a UTTR2 Sant om både uttr1 OCH uttr2 är sanna.\n"
"      UTTR1 -o UTTR2 Sant om antingen uttr1 ELLER uttr2 är sanna.\n"
"    \n"
"      arg1 OP arg2   Aritmetiska test.  OP är en av -eq, -ne,\n"
"                     -lt, -le, -gt eller -ge.\n"
"    \n"
"    Aritmetiska binära operatorer returnerar sant om ARG1 är lika-med,\n"
"    inte-lika-med, mindre-än, mindre-än-eller-lika-med, större-än eller\n"
"    större-än-eller-lika-med ARG2.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om UTTR beräknas till sant.  Misslyckas ifall UTTR\n"
"    beräknas till falskt eller ett ogiltigt argument ges."

#: builtins.c:1299
msgid ""
"Evaluate conditional expression.\n"
"    \n"
"    This is a synonym for the \"test\" builtin, but the last argument must\n"
"    be a literal `]', to match the opening `['."
msgstr ""
"Beräkna villkorligt uttryck.\n"
"    \n"
"    Detta är en synonym till det inbyggda \"test\", men det sista "
"argumentet\n"
"    måste vara en bokstavlig \"]\", för att matcha den inledande \"[\"."

#: builtins.c:1308
msgid ""
"Display process times.\n"
"    \n"
"    Prints the accumulated user and system times for the shell and all of "
"its\n"
"    child processes.\n"
"    \n"
"    Exit Status:\n"
"    Always succeeds."
msgstr ""
"Visa processtider.\n"
"    \n"
"    Skriver ut den sammanlagda användar- och systemtiden för skalet och "
"alla\n"
"    dess barnprocesser.\n"
"    \n"
"    Slutstatus:\n"
"    Lyckas alltid."

#: builtins.c:1320
msgid ""
"Trap signals and other events.\n"
"    \n"
"    Defines and activates handlers to be run when the shell receives "
"signals\n"
"    or other conditions.\n"
"    \n"
"    ARG is a command to be read and executed when the shell receives the\n"
"    signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC\n"
"    is supplied) or `-', each specified signal is reset to its original\n"
"    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
"    shell and by the commands it invokes.\n"
"    \n"
"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  "
"If\n"
"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.\n"
"    \n"
"    If no arguments are supplied, trap prints the list of commands "
"associated\n"
"    with each signal.\n"
"    \n"
"    Options:\n"
"      -l\tprint a list of signal names and their corresponding numbers\n"
"      -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
"    \n"
"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
"number.\n"
"    Signal names are case insensitive and the SIG prefix is optional.  A\n"
"    signal may be sent to the shell with \"kill -signal $$\".\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless a SIGSPEC is invalid or an invalid option is "
"given."
msgstr ""
"Fånga signaler och andra händelser.\n"
"    \n"
"    Definierar och aktiverar hanterare som skall köras när skalet tar emot\n"
"    signaler eller andra omständigheter.\n"
"    \n"
"    ARG är ett kommando som skall läsas och exekveras när skalet tar emot\n"
"    signalen SIGNALSPEC.  Om ARG inte anges (och en ensam SIGNALSPEC ges)\n"
"    eller \"-\" återställs varje angiven signal till sitt orginalvärde.  Om\n"
"    ARG är den tomma strängen ingoreras varje SIGNALSPEC av skalet och av\n"
"    kommandon det startar.\n"
"    \n"
"    Om en SIGNALSPEC är EXIT (0) exekveras ARG vid avslut från skalet.  Om\n"
"    en SIGNALSPEC är DEBUG exekveras ARG före varje enkelt kommando.\n"
"    \n"
"    Om inga argument ges skriver trap listan av kommandon som hör till "
"varje\n"
"    signal.\n"
"    \n"
"    Flaggor:\n"
"      -l\tskriv en lista av signalnamn och deras motsvarande nummer\n"
"      -p\tvisa trap-kommandona associerade med varje SIGNALSPEC\n"
"    \n"
"    Varje SIGNALSPEC är antingen ett signalnamn i <signal.h> eller ett\n"
"    signalnummer.  Signalnamn är skiftlägesokänsliga och SIG-prefixet är\n"
"    frivilligt.  En signal kan skickas till skalet med \"kill -signal $$\".\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en SIGSPEC är ogiltig eller en ogiltig "
"flagga\n"
"    ges."

#: builtins.c:1352
msgid ""
"Display information about command type.\n"
"    \n"
"    For each NAME, indicate how it would be interpreted if used as a\n"
"    command name.\n"
"    \n"
"    Options:\n"
"      -a\tdisplay all locations containing an executable named NAME;\n"
"    \tincludes aliases, builtins, and functions, if and only if\n"
"    \tthe `-p' option is not also used\n"
"      -f\tsuppress shell function lookup\n"
"      -P\tforce a PATH search for each NAME, even if it is an alias,\n"
"    \tbuiltin, or function, and returns the name of the disk file\n"
"    \tthat would be executed\n"
"      -p\treturns either the name of the disk file that would be executed,\n"
"    \tor nothing if `type -t NAME' would not return `file'.\n"
"      -t\toutput a single word which is one of `alias', `keyword',\n"
"    \t`function', `builtin', `file' or `', if NAME is an alias, shell\n"
"    \treserved word, shell function, shell builtin, disk file, or not\n"
"    \tfound, respectively\n"
"    \n"
"    Arguments:\n"
"      NAME\tCommand name to be interpreted.\n"
"    \n"
"    Exit Status:\n"
"    Returns success if all of the NAMEs are found; fails if any are not "
"found."
msgstr ""
"Visa information om kommandotyper.\n"
"    \n"
"    Indikera för varje NAMN hur det skulle tolkats om det användes som ett\n"
"    kommandonamn.\n"
"    \n"
"    Flaggor:\n"
"      -a\tvisa alla platser som innehåller ett körbart program med\n"
"    \tnamnet NAMN, inklusive alias, inbyggda och funktioner, om och endast\n"
"    \tom flaggan \"-p\" inte också används\n"
"      -f\tutelämna uppslagning av skalfunktioner\n"
"      -P\tframtvinga en PATH-sökning för varje NAMN, även om det är ett\n"
"    \talias, inbyggt eller funktion, och returnera namnet på diskfilen som\n"
"    \tskulle blivit exekverad\n"
"      -p\treturnerar antingen namnet på diskfilen som skulle exekverats,\n"
"    \teller ingenting om \"type -t NAMN\" inte skulle returnerat \"file\".\n"
"      -t\tskriv ut ett ensamt ord som är ett av \"alias\", \"keyword\",\n"
"    \t\"function\", \"builtin\", \"file\" eller \"\", om NAMN är ett alias, "
"ett\n"
"    \treserverat ord i skalet, en skalfunktion, inbyggt i skalet, en "
"diskfil\n"
"    \trespektive inte finns\n"
"    \n"
"    Argument:\n"
"      NAMN\tKomandonamn som skall tolkas.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om alla NAMNen finns, misslyckas om något inte finns."

#: builtins.c:1383
msgid ""
"Modify shell resource limits.\n"
"    \n"
"    Provides control over the resources available to the shell and "
"processes\n"
"    it creates, on systems that allow such control.\n"
"    \n"
"    Options:\n"
"      -S\tuse the `soft' resource limit\n"
"      -H\tuse the `hard' resource limit\n"
"      -a\tall current limits are reported\n"
"      -b\tthe socket buffer size\n"
"      -c\tthe maximum size of core files created\n"
"      -d\tthe maximum size of a process's data segment\n"
"      -e\tthe maximum scheduling priority (`nice')\n"
"      -f\tthe maximum size of files written by the shell and its children\n"
"      -i\tthe maximum number of pending signals\n"
"      -l\tthe maximum size a process may lock into memory\n"
"      -m\tthe maximum resident set size\n"
"      -n\tthe maximum number of open file descriptors\n"
"      -p\tthe pipe buffer size\n"
"      -q\tthe maximum number of bytes in POSIX message queues\n"
"      -r\tthe maximum real-time scheduling priority\n"
"      -s\tthe maximum stack size\n"
"      -t\tthe maximum amount of cpu time in seconds\n"
"      -u\tthe maximum number of user processes\n"
"      -v\tthe size of virtual memory\n"
"      -x\tthe maximum number of file locks\n"
"    \n"
"    If LIMIT is given, it is the new value of the specified resource; the\n"
"    special LIMIT values `soft', `hard', and `unlimited' stand for the\n"
"    current soft limit, the current hard limit, and no limit, respectively.\n"
"    Otherwise, the current value of the specified resource is printed.  If\n"
"    no option is given, then -f is assumed.\n"
"    \n"
"    Values are in 1024-byte increments, except for -t, which is in seconds,\n"
"    -p, which is in increments of 512 bytes, and -u, which is an unscaled\n"
"    number of processes.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
"Modifiera skalresursgränser.\n"
"    \n"
"    Ger kontroll över resurserna som är tillgängliga till skalet och "
"processer\n"
"    det skapar, på system som möjliggör sådan styrning.\n"
"    \n"
"    Flaggor:\n"
"      -S\tanvänd den \"mjuka\" resursgränsen\n"
"      -H\tanvänd den \"hårda\" resursgränsen\n"
"      -a\talla aktuella gränser rapporteras\n"
"      -b\tstorleken på uttagsbuffertar\n"
"      -c\tden maximala storleken på minnesutskrifter som skapas\n"
"      -d\tden maximala storleken på en process datasegmen\n"
"      -e\tden maximala schemaläggningsprioriteten (\"nice\")\n"
"      -f\tden maximala storleken på filer som skrivs av skalet och dess\n"
"        \tbarn\n"
"      -i\tdet maximala antalet väntande signaler\n"
"      -l\tden maximala storleken en process kan låsa i minnet\n"
"      -m\tden maximala residenta mängdstorleken\n"
"      -n\tdet maximala antalet öppna filbeskrivare\n"
"      -p\trörbuffertstorleken\n"
"      -q\tdet maximala antalet byte i POSIX-meddelandeköer\n"
"      -r\tden maximala realtidsschemaläggningsprioriteten\n"
"      -s\tden maximala stackstorleken\n"
"      -t\tden maximala mängden cpu-tid i sekunder\n"
"      -u\tdet maximala antalet användarprocesser\n"
"      -v\tstorleken på det virtuella minnet\n"
"      -x\tdet maximala antalet fillås\n"
"    \n"
"    Om GRÄNS anges är det ett nytt värde för den specificerade resursen; de\n"
"    speciella GRÄNS-värdena \"soft\", \"hard\" och \"unlimited\" står för "
"den\n"
"    aktuella mjuka gränsen, den aktuella hårda grånsen respektive inge "
"gräns.\n"
"    Annars skrivs det aktuella värdet på den specificerade resursen.  Om\n"
"    ingen flagga ges antas -f.\n"
"    \n"
"    Värden är i 1024-bytesteg, utom för -t som är i sekunder, -p som är i "
"steg\n"
"    på 512 byte och -u som är ett antal processer utan någon skalning.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga anges eller ett fel "
"inträffar."

#: builtins.c:1428
msgid ""
"Display or set file mode mask.\n"
"    \n"
"    Sets the user file-creation mask to MODE.  If MODE is omitted, prints\n"
"    the current value of the mask.\n"
"    \n"
"    If MODE begins with a digit, it is interpreted as an octal number;\n"
"    otherwise it is a symbolic mode string like that accepted by chmod(1).\n"
"    \n"
"    Options:\n"
"      -p\tif MODE is omitted, output in a form that may be reused as input\n"
"      -S\tmakes the output symbolic; otherwise an octal number is output\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
"Visa eller sätt filrättighetsmask.\n"
"    \n"
"    Sätter användarens filskapningsmask till RÄTTIGHETER.  Om RÄTTIGHETER\n"
"    utelämnas skrivs det aktuella värdet på masken.\n"
"    \n"
"    Om RÄTTIGHETER börjar med en siffra tolkas det som ett oktalt tal, "
"annars\n"
"    är det en symbolisk rättighetssträng som den som tas av chmod(1).\n"
"    \n"
"    Flaggor:\n"
"      -p\tom RÄTTIGHETER utelämnas, skriv ut i en form som kan\n"
"        \tåteranvändas som indata\n"
"      -S\tgör utmatningen symbolisk, annars används oktala tal\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte RÄTTIGHETER är ogiltig eller en ogiltig "
"flagga\n"
"    ges."

#: builtins.c:1448
msgid ""
"Wait for job completion and return exit status.\n"
"    \n"
"    Waits for the process identified by ID, which may be a process ID or a\n"
"    job specification, and reports its termination status.  If ID is not\n"
"    given, waits for all currently active child processes, and the return\n"
"    status is zero.  If ID is a a job specification, waits for all "
"processes\n"
"    in the job's pipeline.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of ID; fails if ID is invalid or an invalid option "
"is\n"
"    given."
msgstr ""
"Vänta på att jobb blir färdiga och returnerar slutstatus.\n"
"    \n"
"    Väntar på processen som identifieras av ID, som kan vara en process-id\n"
"    eller en jobbspecifikation, och rapportera dess avslutningsstatus.  Om\n"
"    ID inte ges, vänta på alla nu körande barnprocesser, och returstatus är\n"
"    noll.  Om ID är en jobbspecifikation, vänta på alla processer i det\n"
"    jobbets rör.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar status på ID, misslyckas ifall ID är ogiltig eller en "
"ogiltig\n"
"    flagga ges."

#: builtins.c:1466
msgid ""
"Wait for process completion and return exit status.\n"
"    \n"
"    Waits for the specified process and reports its termination status.  If\n"
"    PID is not given, all currently active child processes are waited for,\n"
"    and the return code is zero.  PID must be a process ID.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of ID; fails if ID is invalid or an invalid option "
"is\n"
"    given."
msgstr ""
"Vänta på att en process blir färdig och returnerar slutstatus.\n"
"    \n"
"    Väntar på den angivna processen och rapportera dess avslutningsstatus.  "
"Om\n"
"    PID inte ges, vänta på alla nu körande barnprocesser, och returstatus "
"är\n"
"    noll.  PID måste vara en process-id.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar status på ID, misslyckas ifall ID är ogiltig eller en "
"ogiltig\n"
"    flagga ges."

#: builtins.c:1481
msgid ""
"Execute commands for each member in a list.\n"
"    \n"
"    The `for' loop executes a sequence of commands for each member in a\n"
"    list of items.  If `in WORDS ...;' is not present, then `in \"$@\"' is\n"
"    assumed.  For each element in WORDS, NAME is set to that element, and\n"
"    the COMMANDS are executed.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Exekvera kommandon för varje medlem i en lista.\n"
"    \n"
"    \"for\"-slingan exekverar en sekvens av kommandon för varje medlem i en\n"
"    lista av element.  Om \"in ORD ...;\" inte är med antas 'in \"$@\"'.  "
"För\n"
"    varje element i ORD sätts NAMN till det elementet, och KOMMANDON\n"
"    exekveras.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar status för det sist exekverade kommandot."

#: builtins.c:1495
msgid ""
"Arithmetic for loop.\n"
"    \n"
"    Equivalent to\n"
"    \t(( EXP1 ))\n"
"    \twhile (( EXP2 )); do\n"
"    \t\tCOMMANDS\n"
"    \t\t(( EXP3 ))\n"
"    \tdone\n"
"    EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is\n"
"    omitted, it behaves as if it evaluates to 1.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Aritmetisk for-slinga.\n"
"    \n"
"    Likvärdigt med\n"
"    \t(( UTR1 ))\n"
"    \twhile (( UTR2 )); do\n"
"    \t\tKOMMANDON\n"
"    \t\t(( UTR3 ))\n"
"    \tdone\n"
"    UTR1, UTR2 och UTR3 är aritmetiska uttryck.  Om något uttryck utelämnas\n"
"    beter det sig som om det beräknas till 1.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar statusen från det sist exekverade kommandot."

#: builtins.c:1513
msgid ""
"Select words from a list and execute commands.\n"
"    \n"
"    The WORDS are expanded, generating a list of words.  The\n"
"    set of expanded words is printed on the standard error, each\n"
"    preceded by a number.  If `in WORDS' is not present, `in \"$@\"'\n"
"    is assumed.  The PS3 prompt is then displayed and a line read\n"
"    from the standard input.  If the line consists of the number\n"
"    corresponding to one of the displayed words, then NAME is set\n"
"    to that word.  If the line is empty, WORDS and the prompt are\n"
"    redisplayed.  If EOF is read, the command completes.  Any other\n"
"    value read causes NAME to be set to null.  The line read is saved\n"
"    in the variable REPLY.  COMMANDS are executed after each selection\n"
"    until a break command is executed.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Välj ord från en lista och exekvera kommandon.\n"
"    \n"
"    ORD expanderas och genererar en lista med ord.  Mängden av\n"
"    expanderade ord skrivs på standard fel, vart och ett föregånget\n"
"    av ett tal.  Om `in ORD' inte är med antas 'in \"$@\"'.  Prompten\n"
"    PS3 skrivs sedan och en rad läses från standard in.  OM raden\n"
"    består av numret motsvarande en av de visade orden sätts NAMN\n"
"    till det ordet.  Om raden är tom visas ORD och prompten igen.\n"
"    Om filslut läses avslutar kommandot.  Alla andra värden får NAMN\n"
"    att bli satt till tomt.  Den inlästa raden sparas i variabeln\n"
"    REPLY.  KOMMANDON exekveras efter varje val tills ett\n"
"    break-kommando exekveras.\n"
"    \n"
"    Sluttatus:\n"
"    Returnerar statusen från det sist exekverade kommandot."

#: builtins.c:1534
msgid ""
"Report time consumed by pipeline's execution.\n"
"    \n"
"    Execute PIPELINE and print a summary of the real time, user CPU time,\n"
"    and system CPU time spent executing PIPELINE when it terminates.\n"
"    \n"
"    Options:\n"
"      -p\tprint the timing summary in the portable Posix format\n"
"    \n"
"    The value of the TIMEFORMAT variable is used as the output format.\n"
"    \n"
"    Exit Status:\n"
"    The return status is the return status of PIPELINE."
msgstr ""
"Rapportera tiden som används av rörets exekvering.\n"
"    \n"
"    Exekvera RÖR och skriv en sammanfattning av den verkliga tiden,\n"
"    användar-CPU-tiden och system-CPU-tiden som använts för att exekvera\n"
"    RÖRet när det avslutar.\n"
"    \n"
"    Flaggor:\n"
"      -p\tskriv tidssammanfattningen i det portabla Posix-formatet\n"
"    \n"
"    Värdet på variablen TIMEFORMAT används som utmatningsformat.\n"
"    \n"
"    Slutstatus:\n"
"    Returstatusen är returstatusen från RÖR."

#: builtins.c:1551
msgid ""
"Execute commands based on pattern matching.\n"
"    \n"
"    Selectively execute COMMANDS based upon WORD matching PATTERN.  The\n"
"    `|' is used to separate multiple patterns.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Exekvera kommandon baserat på mönstermatchning.\n"
"    \n"
"    Välj att exekvera KOMMANDON baserat på om ORD matchar MÖNSTER.  Ett\n"
"    \"|\" används för att separera flera mönster.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar statusen från det sist exekverade kommandot."

#: builtins.c:1563
msgid ""
"Execute commands based on conditional.\n"
"    \n"
"    The `if COMMANDS' list is executed.  If its exit status is zero, then "
"the\n"
"    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list "
"is\n"
"    executed in turn, and if its exit status is zero, the corresponding\n"
"    `then COMMANDS' list is executed and the if command completes.  "
"Otherwise,\n"
"    the `else COMMANDS' list is executed, if present.  The exit status of "
"the\n"
"    entire construct is the exit status of the last command executed, or "
"zero\n"
"    if no condition tested true.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Exekvera kommndon baserat på ett villkor.\n"
"    \n"
"    Listan \"if KOMMANDON\" exekveras.  Om des slutstatus är noll så "
"exekveras\n"
"    listan \"then COMMANDS\".  Annars exekveras varje lista \"elif KOMMANDON"
"\"\n"
"    i tur och ordning, och om dess slutstatus är noll exekveras motsvarande\n"
"    lista \"then COMMANDS\" och if-kommandot avslutar.  Annars exekveras "
"listan\n"
"    \"else COMMANDS\" om den finns.  Slutstatus av hela konstruktionen är\n"
"    slutstatusen på det sist exekverade kommandot, eller noll om inget\n"
"    villkor returnerade sant.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar status från det sist exekverade kommandot."

#: builtins.c:1580
msgid ""
"Execute commands as long as a test succeeds.\n"
"    \n"
"    Expand and execute COMMANDS as long as the final command in the\n"
"    `while' COMMANDS has an exit status of zero.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Exekvera kommandon så länge ett test lyckas.\n"
"    \n"
"    Expandera och exekvera KOMMANDON så länge det sista kommandont i\n"
"    \"while\"-KOMMANDONa har en sluttstatus på noll.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar statusen från det sist exekverade kommandot."

#: builtins.c:1592
msgid ""
"Execute commands as long as a test does not succeed.\n"
"    \n"
"    Expand and execute COMMANDS as long as the final command in the\n"
"    `until' COMMANDS has an exit status which is not zero.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Exekvera kommandon så länge ett test inte lyckas.\n"
"    \n"
"    Expandera och exekvera KOMMANDON så länge det sista kommandot i\n"
"    \"until\"-KOMMANDONa har en slutstatus som inte är noll.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar statusen från det sist exekverade kommandot."

#: builtins.c:1604
msgid ""
"Create a coprocess named NAME.\n"
"    \n"
"    Execute COMMAND asynchronously, with the standard output and standard\n"
"    input of the command connected via a pipe to file descriptors assigned\n"
"    to indices 0 and 1 of an array variable NAME in the executing shell.\n"
"    The default NAME is \"COPROC\".\n"
"    \n"
"    Exit Status:\n"
"    Returns the exit status of COMMAND."
msgstr ""
"Skapa en koprocess med namnet NAMN.\n"
"    \n"
"    Kör KOMMANDO asynkront, med standard ut och standard in för kommandot\n"
"    ansluta via ett rör till fildeskriptorer tilldelade indexen 0 och 1 i\n"
"    en vektorvariabel NAMN i skalet som kör.  Standardvärde på NAMN är\n"
"    \"COPROC\".\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar statusen från KOMMANDO."

#: builtins.c:1618
msgid ""
"Define shell function.\n"
"    \n"
"    Create a shell function named NAME.  When invoked as a simple command,\n"
"    NAME runs COMMANDs in the calling shell's context.  When NAME is "
"invoked,\n"
"    the arguments are passed to the function as $1...$n, and the function's\n"
"    name is in $FUNCNAME.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless NAME is readonly."
msgstr ""
"Definiera en skalfunktion.\n"
"    \n"
"    Skapa en skalfunktion med namnet NAMN.  När den anropas som ett enkelt\n"
"    kommando kör NAMN KOMMANDON i det anropande skalets kontext.  När NAMN\n"
"    anropas skickas argumenten till funktionen som $1...$n och funktionens\n"
"    namn finns i $FUNCNAME.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte NAMN endast är läsbart."

#: builtins.c:1632
msgid ""
"Group commands as a unit.\n"
"    \n"
"    Run a set of commands in a group.  This is one way to redirect an\n"
"    entire set of commands.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Gruppera kommandon som en enhet.\n"
"    \n"
"    Kör ett antal kommandon i en grupp.  Detta är ett sätt at omdirigera\n"
"    en hel mängd kommandon.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar stutusen från det sist exekverade kommandot."

#: builtins.c:1644
msgid ""
"Resume job in foreground.\n"
"    \n"
"    Equivalent to the JOB_SPEC argument to the `fg' command.  Resume a\n"
"    stopped or background job.  JOB_SPEC can specify either a job name\n"
"    or a job number.  Following JOB_SPEC with a `&' places the job in\n"
"    the background, as if the job specification had been supplied as an\n"
"    argument to `bg'.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the resumed job."
msgstr ""
"Återuppta jobb i förgrunden.\n"
"    \n"
"    Likvärdigt med JOBBSPEC-argumentet till kommandot \"fg\".  Återuppta\n"
"    ett stoppat eller bakgrundsjobb.  JOBBSPEC kan ange antingen ett\n"
"    jobbnamn eller ett jobbnummer.  Om JOBBSPEC följs av ett \"&\" placeras\n"
"    jobbet i bakgrunden, som om jobbspecifikationen hade givits som ett\n"
"    argument till \"bg\".\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar statusen på det återupptagna jobbet."

#: builtins.c:1659
msgid ""
"Evaluate arithmetic expression.\n"
"    \n"
"    The EXPRESSION is evaluated according to the rules for arithmetic\n"
"    evaluation.  Equivalent to \"let EXPRESSION\".\n"
"    \n"
"    Exit Status:\n"
"    Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
"Beräkna aritmetiskt uttryck.\n"
"    \n"
"    UTTRYCKet beräknas enligt reglerna för aritmetisk beräkning.\n"
"    Likvärdigt med \"let UTTRYCK\".\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar 1 om UTTRYCK beräknas till 0, returnerar 0 annars."

#: builtins.c:1671
msgid ""
"Execute conditional command.\n"
"    \n"
"    Returns a status of 0 or 1 depending on the evaluation of the "
"conditional\n"
"    expression EXPRESSION.  Expressions are composed of the same primaries "
"used\n"
"    by the `test' builtin, and may be combined using the following "
"operators:\n"
"    \n"
"      ( EXPRESSION )\tReturns the value of EXPRESSION\n"
"      ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
"      EXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false\n"
"      EXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false\n"
"    \n"
"    When the `==' and `!=' operators are used, the string to the right of\n"
"    the operator is used as a pattern and pattern matching is performed.\n"
"    When the `=~' operator is used, the string to the right of the operator\n"
"    is matched as a regular expression.\n"
"    \n"
"    The && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to\n"
"    determine the expression's value.\n"
"    \n"
"    Exit Status:\n"
"    0 or 1 depending on value of EXPRESSION."
msgstr ""
"Kör ett villkorligt kommando.\n"
"    \n"
"    Returnerar en status av 0 eller 1 beroende på evalueringen av det\n"
"    villkorliga uttrycket UTTRYCK.  Uttryck är sammansatta av samma "
"primitiver\n"
"    som används av det inbyggda \"test\", och kan kombineras med följande\n"
"    operatorer:\n"
"    \n"
"      ( UTTRYCK )\tReturnerar värdet på UTTRYCK\n"
"      ! UTTRYCK\t\tSant om UTTRYCK är falskt, annars falskt\n"
"      UTTR1 && UTTR2\tSant om både UTTR1 och UTTR2 är sanna, annars falskt\n"
"      UTTR1 || UTTR2\tSant om antingen UTTR1 eller UTTR2 är sant, annars\n"
"                        falskt\n"
"    \n"
"    När operatorerna \"==\" och \"!=\" används används strängen till höger "
"om\n"
"    som ett mönster och mönstermatchning utförs.  När operatorn \"=~\" "
"används\n"
"    matchas strängen till höger om operatorn som ett reguljärt uttryck.\n"
"    \n"
"    Operatorerna && och || beräknar inte UTTR2 om UTTR1 är tillräckligt för\n"
"    att avgöra uttryckets värde.\n"
"    \n"
"    Slutstatus:\n"
"    0 eller 1 beroende på värdet av UTTRYCK."

#: builtins.c:1697
msgid ""
"Common shell variable names and usage.\n"
"    \n"
"    BASH_VERSION\tVersion information for this Bash.\n"
"    CDPATH\tA colon-separated list of directories to search\n"
"    \t\tfor directories given as arguments to `cd'.\n"
"    GLOBIGNORE\tA colon-separated list of patterns describing filenames to\n"
"    \t\tbe ignored by pathname expansion.\n"
"    HISTFILE\tThe name of the file where your command history is stored.\n"
"    HISTFILESIZE\tThe maximum number of lines this file can contain.\n"
"    HISTSIZE\tThe maximum number of history lines that a running\n"
"    \t\tshell can access.\n"
"    HOME\tThe complete pathname to your login directory.\n"
"    HOSTNAME\tThe name of the current host.\n"
"    HOSTTYPE\tThe type of CPU this version of Bash is running under.\n"
"    IGNOREEOF\tControls the action of the shell on receipt of an EOF\n"
"    \t\tcharacter as the sole input.  If set, then the value\n"
"    \t\tof it is the number of EOF characters that can be seen\n"
"    \t\tin a row on an empty line before the shell will exit\n"
"    \t\t(default 10).  When unset, EOF signifies the end of input.\n"
"    MACHTYPE\tA string describing the current system Bash is running on.\n"
"    MAILCHECK\tHow often, in seconds, Bash checks for new mail.\n"
"    MAILPATH\tA colon-separated list of filenames which Bash checks\n"
"    \t\tfor new mail.\n"
"    OSTYPE\tThe version of Unix this version of Bash is running on.\n"
"    PATH\tA colon-separated list of directories to search when\n"
"    \t\tlooking for commands.\n"
"    PROMPT_COMMAND\tA command to be executed before the printing of each\n"
"    \t\tprimary prompt.\n"
"    PS1\t\tThe primary prompt string.\n"
"    PS2\t\tThe secondary prompt string.\n"
"    PWD\t\tThe full pathname of the current directory.\n"
"    SHELLOPTS\tA colon-separated list of enabled shell options.\n"
"    TERM\tThe name of the current terminal type.\n"
"    TIMEFORMAT\tThe output format for timing statistics displayed by the\n"
"    \t\t`time' reserved word.\n"
"    auto_resume\tNon-null means a command word appearing on a line by\n"
"    \t\titself is first looked for in the list of currently\n"
"    \t\tstopped jobs.  If found there, that job is foregrounded.\n"
"    \t\tA value of `exact' means that the command word must\n"
"    \t\texactly match a command in the list of stopped jobs.  A\n"
"    \t\tvalue of `substring' means that the command word must\n"
"    \t\tmatch a substring of the job.  Any other value means that\n"
"    \t\tthe command must be a prefix of a stopped job.\n"
"    histchars\tCharacters controlling history expansion and quick\n"
"    \t\tsubstitution.  The first character is the history\n"
"    \t\tsubstitution character, usually `!'.  The second is\n"
"    \t\tthe `quick substitution' character, usually `^'.  The\n"
"    \t\tthird is the `history comment' character, usually `#'.\n"
"    HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
"    \t\tcommands should be saved on the history list.\n"
msgstr ""
"Vanliga skalvariablers namn och användning.\n"
"    \n"
"    BASH_VERSION\tVersionsinformation för denna Bash.\n"
"    CDPATH\tEn kolonseparerad lista av kataloger att söka i efter\n"
"    \t\tkataloger givna som argument till \"cd\".\n"
"    GLOBIGNORE\tEn kolonseparerad lista av mönster som beskriver filnamn\n"
"    \t\tatt ignorera vid söknamnsexpansion.\n"
"    HISTFILE\tNamnet på filen där din kommandohistorik sparas.\n"
"    HISTFILESIZE\tDet maximala antalet rade denna fil kan innehålla.\n"
"    HISTSIZE\tDet maximala antalet historierade ett körande skal kan\n"
"    \t\tkomma åt.\n"
"    HOME\tDen fullständiga sökvägen till din inloggningskatalog.\n"
"    HOSTNAME\tNamnet på den aktuella värden.\n"
"    HOSTTYPE\tTyp av CPU denna version av Bash kör under.\n"
"    IGNOREEOF\tStyr skalets åtgärd när det tar emot ett filslutstecken\n"
"    \t\tsom enda indata.  Om den är satt är dess värde det antal\n"
"    \t\tfilslutstecken som kan ses i rad på en tom rad innan\n"
"    \t\tskalet avslutar (10 som standard).  När den inte är satt\n"
"    \t\tbetyder filslut slut på indata.\n"
"    MACHTYPE\tEn sträng som bexkriver det aktuella systemet Bash kör på.\n"
"    MAILCHECK\tHur ofta, i sekunder, Bash tittar efter ny post.\n"
"    MAILPATH\tEn kolonseparerad lista av filnamn som Bash tittar efter\n"
"    \t\tny post i.\n"
"    OSTYPE\tDen version av Unix denna version av Bash kör på.\n"
"    PATH\tEn kolonseparerad lista av kataloger att söka i när\n"
"    \t\tkommandon skall letas upp.\n"
"    PROMPT_COMMAND\tEtt kommando att köra före utskriften av varje\n"
"    \t\tprimär prompt.\n"
"    PS1\t\tDen primära promptsträngen.\n"
"    PS2\t\tDen sekundära promptsträngen.\n"
"    PWD\t\tDet fullständiga söknamnet till den aktuella katalogen.\n"
"    SHELLOPTS\tEn kolonseparerad lista av aktiverade skalflaggor.\n"
"    TERM\tNamnet på den aktuella terminaltypen.\n"
"    TIMEFORMAT\tUtmatningsformatet för tidsstatistik som visas av det\n"
"    \t\treserverade ordet \"time\".\n"
"    auto_resume\tOm inte tomt betyder att ett kommandoord som förekommer\n"
"    \t\tensamt på en rad först letas efter i listan av för tillfället\n"
"    \t\tstoppade jobb.  Om det hittas där läggs det jobbet i\n"
"    \t\tförgrunden.  Ett värde av \"exact\" betyder att kommandoordet\n"
"    \t\texakt måste stämma med ett kommando i listan över stoppade\n"
"    \t\tjobb.  Ett värde av \"substring\" betyder att kommandoordet\n"
"    \t\tmåste stämma med en delsträng av jobbet.  Alla andra värden\n"
"    \t\tbetyder att kommandot måste vara ett prefix av ett stoppat\n"
"    \t\tjobb.\n"
"    histchars\tTecken som styr historieexpansion och snabbsubstitution.\n"
"    \t\tDet första tecknet är tecknet för historiesubstitution,\n"
"    \t\tvanligen \"!\".  Det andra tecknet är tecknet för \"snabb\n"
"    \t\tsubstitution\", vanligen \"^\".  Det tredje är tecknet för\n"
"    \t\t\"historiekommentar\", vanligen \"#\".\n"
"    HISTIGNORE\tEn kolonseparerad lista av mönster som används för att\n"
"    \t\tbestämma vilka kommandon som skall sparas i historielistan.\n"

#: builtins.c:1754
msgid ""
"Add directories to stack.\n"
"    \n"
"    Adds a directory to the top of the directory stack, or rotates\n"
"    the stack, making the new top of the stack the current working\n"
"    directory.  With no arguments, exchanges the top two directories.\n"
"    \n"
"    Options:\n"
"      -n\tSuppresses the normal change of directory when adding\n"
"    \tdirectories to the stack, so only the stack is manipulated.\n"
"    \n"
"    Arguments:\n"
"      +N\tRotates the stack so that the Nth directory (counting\n"
"    \tfrom the left of the list shown by `dirs', starting with\n"
"    \tzero) is at the top.\n"
"    \n"
"      -N\tRotates the stack so that the Nth directory (counting\n"
"    \tfrom the right of the list shown by `dirs', starting with\n"
"    \tzero) is at the top.\n"
"    \n"
"      dir\tAdds DIR to the directory stack at the top, making it the\n"
"    \tnew current working directory.\n"
"    \n"
"    The `dirs' builtin displays the directory stack.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid argument is supplied or the directory\n"
"    change fails."
msgstr ""
"Lägg till kataloger på stacken.\n"
"    \n"
"    Lägger till en katalog till toppen av katalogstacken, eller roterar\n"
"    stacken, och gör den nya toppen av stacken till den aktuella\n"
"    arbetskatalogen.  Utan argument byts de två toppkatalogerna.\n"
"    \n"
"    Flaggor:\n"
"      -n\tUndertryck det normala bytet av katalog när kataloger\n"
"    \tläggs till på stacken, så att endast stacken ändras.\n"
"    \n"
"    Argument:\n"
"      +N\tRotera stacken så att den N:e katalogen (räknat från\n"
"    \tvänster i listan som visas av \"dirs\", med start på noll) hamnar\n"
"    \tpå toppen.\n"
"    \n"
"      -N\tRotera stacken så att den N:e katalogen (räknat från\n"
"    \thöger i listan som visas av \"dirs\", med start på noll) hamnar\n"
"    \tpå toppen.\n"
"    \n"
"      kat\tLägger till KAT till toppen av katalogstacken, och gör\n"
"    \tden till den nya aktuella arbetskatalogen.\n"
"    \n"
"    Den inbyggda \"dirs\" visar katalogstacken.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte ett ogiltigt argument ges eller bytet av\n"
"    katalog misslyckas."

#: builtins.c:1788
msgid ""
"Remove directories from stack.\n"
"    \n"
"    Removes entries from the directory stack.  With no arguments, removes\n"
"    the top directory from the stack, and changes to the new top directory.\n"
"    \n"
"    Options:\n"
"      -n\tSuppresses the normal change of directory when removing\n"
"    \tdirectories from the stack, so only the stack is manipulated.\n"
"    \n"
"    Arguments:\n"
"      +N\tRemoves the Nth entry counting from the left of the list\n"
"    \tshown by `dirs', starting with zero.  For example: `popd +0'\n"
"    \tremoves the first directory, `popd +1' the second.\n"
"    \n"
"      -N\tRemoves the Nth entry counting from the right of the list\n"
"    \tshown by `dirs', starting with zero.  For example: `popd -0'\n"
"    \tremoves the last directory, `popd -1' the next to last.\n"
"    \n"
"    The `dirs' builtin displays the directory stack.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid argument is supplied or the directory\n"
"    change fails."
msgstr ""
"Ta bort kataloger från stacken.\n"
"    \n"
"    Tar bort poster från katalogstacken.  Utan argument tas toppkatalogen\n"
"    bort från stacken, och byter till den nya toppkatalogen.\n"
"    \n"
"    Flaggor:\n"
"      -n\tUndertryck det normala bytet av katalog när kataloger\n"
"    \ttas bort från stacken, så att endast stacken ändras.\n"
"    \n"
"    Argument:\n"
"      +N\tTar bort den N:e katalogen räknat från vänster i listan\n"
"    \tsom visas av \"dirs\", med start på noll.  Till exempel: \"popd +0\"\n"
"    \ttar bort den första katalogen, \"popd +1\" den andra.\n"
"    \n"
"      -N\tTar bort den N:e katalogen räknat från höger i listan\n"
"    \tsom visas av \"dirs\", med start på noll.  Till exempel: \"popd -0\"\n"
"    \ttar bort den sista katalogen, \"popd -1\" den näst sista.\n"
"    \n"
"    Den inbyggda \"dirs\" visar katalogstacken.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte ett ogiltigt argument ges eller bytet av\n"
"    katalog misslyckas."

#: builtins.c:1818
msgid ""
"Display directory stack.\n"
"    \n"
"    Display the list of currently remembered directories.  Directories\n"
"    find their way onto the list with the `pushd' command; you can get\n"
"    back up through the list with the `popd' command.\n"
"    \n"
"    Options:\n"
"      -c\tclear the directory stack by deleting all of the elements\n"
"      -l\tdo not print tilde-prefixed versions of directories relative\n"
"    \tto your home directory\n"
"      -p\tprint the directory stack with one entry per line\n"
"      -v\tprint the directory stack with one entry per line prefixed\n"
"    \twith its position in the stack\n"
"    \n"
"    Arguments:\n"
"      +N\tDisplays the Nth entry counting from the left of the list shown "
"by\n"
"    \tdirs when invoked without options, starting with zero.\n"
"    \n"
"      -N\tDisplays the Nth entry counting from the right of the list shown "
"by\n"
"    \tdirs when invoked without options, starting with zero.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
"Visa katalogstacken.\n"
"    \n"
"    Visa listan av kataloger i minnet för närvarande.  Kataloger kommer\n"
"    in på listan med kommandot \"pushd\".  Du kan komma tillbaka upp genom\n"
"    listan med kommandot \"popd\".\n"
"    \n"
"    Flaggor:\n"
"      -c\tnollställer katalogstacken genom att ta bort alla element\n"
"      -l\tskriv inte ut versioner med tildeprefix av kataloger som\n"
"    \tär relativa till din hemkatalog\n"
"      -p\tskriv katalogstacken med en post per rad\n"
"      -v\tskriv katalogstacken med en post per rad föregångna av\n"
"    \tdess position i stacken\n"
"    \n"
"    Argument:\n"
"      +N\tVisar den N:e posten räknat från vänster i listan som visas\n"
"    \tav dirs när det anropas utan flaggor, med början från noll.\n"
"    \n"
"      -N\tVisar den N:e posten räknat från höger i listan som visas\n"
"    \tav dirs när det anropas utan fläggor, med början från noll.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges eller ett fel "
"inträffar."

#: builtins.c:1847
msgid ""
"Set and unset shell options.\n"
"    \n"
"    Change the setting of each shell option OPTNAME.  Without any option\n"
"    arguments, list all shell options with an indication of whether or not "
"each\n"
"    is set.\n"
"    \n"
"    Options:\n"
"      -o\trestrict OPTNAMEs to those defined for use with `set -o'\n"
"      -p\tprint each shell option with an indication of its status\n"
"      -q\tsuppress output\n"
"      -s\tenable (set) each OPTNAME\n"
"      -u\tdisable (unset) each OPTNAME\n"
"    \n"
"    Exit Status:\n"
"    Returns success if OPTNAME is enabled; fails if an invalid option is\n"
"    given or OPTNAME is disabled."
msgstr ""
"Slå på och av skalflaggor.\n"
"    \n"
"    Ändra inställningen av varje flagga FLGNAMN.  Utan några flaggargument\n"
"    listas alla skalflaggor med en indikation om var och en är satt.\n"
"    \n"
"    Flaggor:\n"
"      -o\tbegränsa FLGNAMN till de som kan användas med \"set -o\"\n"
"      -p\tskriv raje skalflagga med en indikation på dess status\n"
"      -q\tutelämna utmatning\n"
"      -s\taktivera (slå på) varje FLGNAMN\n"
"      -u\tavaktivera (slå av) varje FLGNAMN\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om FLGNAMN är aktiverat, misslyckas om en ogiltig\n"
"    flagga ges eller FLGNAMN är avaktiverat."

#: builtins.c:1868
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
"    \n"
"    Options:\n"
"      -v var\tassign the output to shell variable VAR rather than\n"
"    \t\tdisplay it on the standard output\n"
"    \n"
"    FORMAT is a character string which contains three types of objects: "
"plain\n"
"    characters, which are simply copied to standard output; character "
"escape\n"
"    sequences, which are converted and copied to the standard output; and\n"
"    format specifications, each of which causes printing of the next "
"successive\n"
"    argument.\n"
"    \n"
"    In addition to the standard format specifications described in printf"
"(1)\n"
"    and printf(3), printf interprets:\n"
"    \n"
"      %b\texpand backslash escape sequences in the corresponding argument\n"
"      %q\tquote the argument in a way that can be reused as shell input\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or a write or "
"assignment\n"
"    error occurs."
msgstr ""
"Formatera och skriv ARGUMENT styrda av FORMAT.\n"
"    \n"
"    Flaggor:\n"
"      -v var\ttilldela utdata till skalvariabeln VAR istället för att\n"
"    \t\tskriva den på standard ut\n"
"    \n"
"    FORMAT är en teckensträng som innehåller tre sortes objekt: vanliga\n"
"    tecken, som helt enkelt kopieras till standard ut, teckenstyrsekvenser\n"
"    som konverteras och kopieras till standard ut och "
"formatspecifikationer,\n"
"    där var och en medför utskrift av det nästföljande argumentet.\n"
"    argument.\n"
"    \n"
"    Förutom de standardformatspecifikationer som beskrivs a printf(1) och\n"
"    printf(3) tolkar printf:\n"
"    \n"
"      %b\texpandera bakstrecksstyrsekvenser i motsvarande argument\n"
"      %q\tcitera argumentet på ett sätt som kan återanvändas som\n"
"    \t\tindata till ett skal\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges eller ett skriv-\n"
"    eller tilldelningsfel inträffar."

#: builtins.c:1895
#, fuzzy
msgid ""
"Specify how arguments are to be completed by Readline.\n"
"    \n"
"    For each NAME, specify how arguments are to be completed.  If no "
"options\n"
"    are supplied, existing completion specifications are printed in a way "
"that\n"
"    allows them to be reused as input.\n"
"    \n"
"    Options:\n"
"      -p\tprint existing completion specifications in a reusable format\n"
"      -r\tremove a completion specification for each NAME, or, if no\n"
"    \tNAMEs are supplied, all completion specifications\n"
"      -D\tapply the completions and actions as the default for commands\n"
"    \twithout any specific completion defined\n"
"      -E\tapply the completions and actions to \"empty\" commands --\n"
"    \tcompletion attempted on a blank line\n"
"    \n"
"    When completion is attempted, the actions are applied in the order the\n"
"    uppercase-letter options are listed above.  The -D option takes\n"
"    precedence over -E.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
"Ange hur argument skal kompletteras av Readline.\n"
"    \n"
"    För varje NAMN, ange hur argument skall kompletteras.  Om inga flaggor\n"
"    är givna skrivs nuvarande kompletteringsspecifikationer ut på ett sätt\n"
"    som gör att de kan användas som indata.\n"
"    \n"
"    Flaggor:\n"
"      -p\tskriv existerande kompletteringsspecifikationer på ett\n"
"    \tåteranvändningsbart format\n"
"      -r\tta bort en kompletteringsspecifikation för varje NAMN eller\n"
"    \tom inga NAMN är givna, alla kompletteringsinformationer\n"
"    \n"
"    När komplettering försöker göras försöks åtgärder i den ordning de\n"
"    versala flaggorna är uppräknade ovan.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges eller ett fel "
"inträffar."

#: builtins.c:1923
msgid ""
"Display possible completions depending on the options.\n"
"    \n"
"    Intended to be used from within a shell function generating possible\n"
"    completions.  If the optional WORD argument is supplied, matches "
"against\n"
"    WORD are generated.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
"Visa möjliga kompletteringar beroende på flaggorna.\n"
"    \n"
"    Avsett att användas inifrån en skalfunktion för att generera möjliga\n"
"    kompletteringar.  Om det valfria argumentet ORD är givet genereras\n"
"    matchningar av ORD.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges eller ett fel "
"inträffar."

#: builtins.c:1938
#, fuzzy
msgid ""
"Modify or display completion options.\n"
"    \n"
"    Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
"    the completion currently begin executed.  If no OPTIONs are givenm, "
"print\n"
"    the completion options for each NAME or the current completion "
"specification.\n"
"    \n"
"    Options:\n"
"    \t-o option\tSet completion option OPTION for each NAME\n"
"    \t-D\t\tChange options for the \"default\" command completion\n"
"    \t-E\t\tChange options for the \"empty\" command completion\n"
"    \n"
"    Using `+o' instead of `-o' turns off the specified option.\n"
"    \n"
"    Arguments:\n"
"    \n"
"    Each NAME refers to a command for which a completion specification must\n"
"    have previously been defined using the `complete' builtin.  If no NAMEs\n"
"    are supplied, compopt must be called by a function currently generating\n"
"    completions, and the options for that currently-executing completion\n"
"    generator are modified.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied or NAME does not\n"
"    have a completion specification defined."
msgstr ""
"Modifiera eller visa kompletteringsflaggor.\n"
"    \n"
"    Modifiera kompletteringsflaggorna för varje NAMN, eller, om inga NAMN "
"är\n"
"    givna, den komplettering som för närvarande körs.  Om ingen FLAGGA är\n"
"    given skrivs kompletteringsflaggorna för varje NAMN eller den aktuella\n"
"    kompletteringsspecifikationen.\n"
"    \n"
"    Flaggor:\n"
"    \t-o flagga\tSätt kompletteringsflagga FLAGGA för varje NAMN\n"
"    \n"
"    Genom att använda \"+o\" istället för \"-o\" slås den angivna flaggan "
"av.\n"
"    \n"
"    Argument:\n"
"    \n"
"    Varje NAMN refererar till ett kommando för vilket en kompletterings-\n"
"    specifikation måste ha definierats tidigare med det inbyggda \"complete"
"\".\n"
"    Om inget NAMN ges måste compopt anropas av en funktion som just nu\n"
"    genererar kompletteringar, och flaggorna för den just nu exekverande\n"
"    kompletteringsgeneratorn modifieras.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges eller NAMN inte har\n"
"    någon kompletteringsspecifikaation definierad."

#: builtins.c:1968
#, fuzzy
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
"    \n"
"    Read lines from the standard input into the indexed array variable "
"ARRAY, or\n"
"    from file descriptor FD if the -u option is supplied.  The variable "
"MAPFILE\n"
"    is the default ARRAY.\n"
"    \n"
"    Options:\n"
"      -n count\tCopy at most COUNT lines.  If COUNT is 0, all lines are "
"copied.\n"
"      -O origin\tBegin assigning to ARRAY at index ORIGIN.  The default "
"index is 0.\n"
"      -s count \tDiscard the first COUNT lines read.\n"
"      -t\t\tRemove a trailing newline from each line read.\n"
"      -u fd\t\tRead lines from file descriptor FD instead of the standard "
"input.\n"
"      -C callback\tEvaluate CALLBACK each time QUANTUM lines are read.\n"
"      -c quantum\tSpecify the number of lines read between each call to "
"CALLBACK.\n"
"    \n"
"    Arguments:\n"
"      ARRAY\t\tArray variable name to use for file data.\n"
"    \n"
"    If -C is supplied without -c, the default quantum is 5000.  When\n"
"    CALLBACK is evaluated, it is supplied the index of the next array\n"
"    element to be assigned as an additional argument.\n"
"    \n"
"    If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
"    assigning to it.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or ARRAY is readonly "
"or\n"
"    not an indexed array."
msgstr ""
"Läs rader från standard in till en vektorvariabel.\n"
"    \n"
"    Läs rader från standard in till vektorvariabeln VEKTOR, eller från\n"
"    filbeskrivaren FB om flaggan -u ges.  Variabeln MAPFILE är standard\n"
"    för VEKTOR.\n"
"    \n"
"    Flaggor:\n"
"      -n antal\tKopiera högs ANTAL rader.  Om ANTAL är 0 kopieras alla "
"rader.\n"
"      -O start\tBörja tilldela till VEKTOR vid index START.  Standardindex "
"är 0.\n"
"      -s antal \tSläng de första ANTAL inlästa raderna.\n"
"      -t\t\tTa bort en avslutande nyrad från varje inläst rad.\n"
"      -u fb\t\tLäs rader från filbeskrivare FB istället för standard in.\n"
"      -C återanrop\tBeräkna ÅTERANROP för varje KVANTA rader som läses.\n"
"      -c kvanta \tAnge antalet rader att läsa mellan varje anrop av\n"
"      \t\t \tÅTERANROP.\n"
"    \n"
"    Argument:\n"
"      VEKTOR\t\tNamn på vektorvariabel att använda för fildata.\n"
"    \n"
"    Om -C ges utan -c är standardkvanta 5000.  När ÅTERANROP evalueras får\n"
"    den indexet på nästa vektorelement som ett extra argument.\n"
"    \n"
"    Om det inte ges någon specificerad start kommer mapfile nollställa "
"VEKTOR\n"
"    före tilldelning till den.\n"
"    \n"
"    Slutstatus:\n"
"    Returnerar framgång om inte en ogiltig flagga ges eller VEKTOR är\n"
"    oföränderlig."

#: builtins.c:2001
msgid ""
"Read lines from a file into an array variable.\n"
"    \n"
"    A synonym for `mapfile'."
msgstr ""
"Läs rader från en fil till en vektorvariabel.\n"
"    \n"
"    En synonym till \"mapfile\"."

#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
#~ msgstr "xrealloc: kan inte reallokera %lu byte (%lu byte allokerade)"

#~ msgid "xrealloc: cannot allocate %lu bytes"
#~ msgstr "xrealloc: kan inte allokera %lu byte"

#~ msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
#~ msgstr ""
#~ "xrealloc: %s: %d: kan inte areallokera %lu byte (%lu byte allokerade)"
