diff options
-rw-r--r-- | CWRU/CWRU.chlog | 51 | ||||
-rw-r--r-- | CWRU/CWRU.chlog~ | 49 | ||||
-rw-r--r-- | MANIFEST | 3 | ||||
-rw-r--r-- | MANIFEST~ | 4 | ||||
-rw-r--r-- | Makefile.in | 2 | ||||
-rw-r--r-- | Makefile.in~ | 8 | ||||
-rw-r--r-- | bashline.c | 8 | ||||
-rw-r--r-- | bashline.c~ | 4 | ||||
-rw-r--r-- | bashline.h | 1 | ||||
-rw-r--r-- | bashline.h~ | 49 | ||||
-rw-r--r-- | builtins/break.def | 4 | ||||
-rw-r--r-- | builtins/break.def~ | 6 | ||||
-rw-r--r-- | doc/bash.1 | 12 | ||||
-rw-r--r-- | doc/bash.1~ | 6 | ||||
-rw-r--r-- | lib/readline/display.c | 10 | ||||
-rw-r--r-- | lib/readline/display.c~ | 22 | ||||
-rw-r--r-- | po/LINGUAS | 2 | ||||
-rw-r--r-- | po/lt.po | 2527 | ||||
-rw-r--r-- | shell.c | 10 | ||||
-rw-r--r-- | shell.c~ | 13 | ||||
-rw-r--r-- | subst.c | 5 | ||||
-rwxr-xr-x | support/checkbashisms | 172 | ||||
-rwxr-xr-x | tests/RUN-ONE-TEST | 2 | ||||
-rw-r--r-- | variables.c | 14 | ||||
-rw-r--r-- | variables.c~ | 4 | ||||
-rw-r--r-- | variables.h | 4 | ||||
-rw-r--r-- | variables.h~ | 2 |
27 files changed, 2962 insertions, 32 deletions
diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog index e3c3596a..1f867449 100644 --- a/CWRU/CWRU.chlog +++ b/CWRU/CWRU.chlog @@ -15783,3 +15783,54 @@ variables.c - when reading the initial environment, don't create variables with names that are not valid shell identifiers. Fixes bug reported by Stephane Chazleas <stephane_chazelas@yahoo.fr> + + 5/13 + ---- +subst.c + - fix string_quote_removal to gracefully handle the case where a + backslash is the final character in the string (leaves the backslash + in place). Fixes bug reported by Ian Robertson + <iroberts@u.washington.edu> + + 5/16 + ---- +support/checkbashisms + - Perl script that purports to check for bash-specific features in a + shell script. Lifted from Debian via ubuntu + + 5/20 + ---- +lib/readline/display.c + - in update_line, when deciding whether or not to adjust _rl_last_c_pos + in a multibyte environment after printing the last line of a multiline + prompt with invisible characters on the first and last lines, use + the number of inivisible chars on the first line in the calculation + deciding whether or not we're past the last invisible character and + need to adjust the cursor position. Old code used the number of + invisible chars on the last prompt line. Fixes bug reported by + stuff@slinkp.com. + - in update_line, when fixing _rl_last_c_pos after drawing the first + line of the prompt, use the number of invisible chars on the first + line as the offset, instead of the total number of invisible chars + + 5/21 + ---- +variables.c + - new function, reinit_special_variables(), a hook for special + vars that need their hook functions called when they're unset as + a result of the shell reinitializing itself to run a script + +shell.c + - shell_reinitialize now calls reinit_special_variables + - shell_reinitialize now calls bashline_reset + +variables.h + - new extern declaration for reinit_special_variables + +bashline.c + - new function, bashline_reset(), called when the shell reinitializes + in shell_reinitialize. Right now, just resets + bash_readline_initialized to 0. + +bashline.h + - new extern declaration for bashline_reset() diff --git a/CWRU/CWRU.chlog~ b/CWRU/CWRU.chlog~ index dac5a095..ff2d394f 100644 --- a/CWRU/CWRU.chlog~ +++ b/CWRU/CWRU.chlog~ @@ -15776,3 +15776,52 @@ execute_cmd.c executed by the `command' or `source/.' builtins if we are supposed to be ignoring the return value. This is like `eval'. Fixes bug reported by Hiroshi Fujishima <hirobo@tonteki.org> + + 5/10 + ---- +variables.c + - when reading the initial environment, don't create variables with + names that are not valid shell identifiers. Fixes bug reported by + Stephane Chazleas <stephane_chazelas@yahoo.fr> + + 5/13 + ---- +subst.c + - fix string_quote_removal to gracefully handle the case where a + backslash is the final character in the string (leaves the backslash + in place). Fixes bug reported by Ian Robertson + <iroberts@u.washington.edu> + + 5/16 + ---- +support/checkbashisms + - Perl script that purports to check for bash-specific features in a + shell script. Lifted from Debian via ubuntu + + 5/20 + ---- +lib/readline/display.c + - in update_line, when deciding whether or not to adjust _rl_last_c_pos + in a multibyte environment after printing the last line of a multiline + prompt with invisible characters on the first and last lines, use + the number of inivisible chars on the first line in the calculation + deciding whether or not we're past the last invisible character and + need to adjust the cursor position. Old code used the number of + invisible chars on the last prompt line. Fixes bug reported by + stuff@slinkp.com. + - in update_line, when fixing _rl_last_c_pos after drawing the first + line of the prompt, use the number of invisible chars on the first + line as the offset, instead of the total number of invisible chars + + 5/21 + ---- +variables.c + - new function, reinit_special_variables(), a hook for special + vars that need their hook functions called when they're unset as + a result of the shell reinitializing itself to run a script + +shell.c + - shell_reinitialize now calls reinit_special_variables + +variables.h + - new extern declaration for reinit_special_variables @@ -498,6 +498,8 @@ po/hu.gmo f po/hu.po f po/ja.gmo f po/ja.po f +po/lt.gmo f +po/lt.po f po/nl.gmo f po/nl.po f po/pl.gmo f @@ -550,6 +552,7 @@ doc/fdl.texi f doc/fdl.txt f support/Makefile.in f support/bashversion.c f +support/checkbashisms f 755 support/config.guess f support/config.rpath f 755 support/config.sub f @@ -498,6 +498,8 @@ po/hu.gmo f po/hu.po f po/ja.gmo f po/ja.po f +po/lt.gmo f +po/lt.po f po/nl.gmo f po/nl.po f po/pl.gmo f @@ -806,7 +808,6 @@ tests/func.right f tests/func1.sub f tests/func2.sub f tests/func3.sub f -tests/func4.sub f tests/getopts.tests f tests/getopts.right f tests/getopts1.sub f @@ -860,6 +861,7 @@ tests/new-exp3.sub f tests/new-exp4.sub f tests/new-exp5.sub f tests/new-exp6.sub f +tests/new-exp7.sub f tests/new-exp.right f tests/nquote.tests f tests/nquote.right f diff --git a/Makefile.in b/Makefile.in index e6b0aa3d..8251d39f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -993,7 +993,7 @@ shell.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h arr shell.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h shell.o: make_cmd.h subst.h sig.h pathnames.h externs.h shell.o: flags.h trap.h mailcheck.h builtins.h $(DEFSRC)/common.h -shell.o: jobs.h siglist.h input.h execute_cmd.h findcmd.h bashhist.h +shell.o: jobs.h siglist.h input.h execute_cmd.h findcmd.h bashhist.h bashline.h shell.o: ${GLOB_LIBSRC}/strmatch.h ${BASHINCDIR}/posixtime.h sig.o: config.h bashtypes.h sig.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h diff --git a/Makefile.in~ b/Makefile.in~ index 6dc595c9..e6b0aa3d 100644 --- a/Makefile.in~ +++ b/Makefile.in~ @@ -1076,6 +1076,14 @@ arrayfunc.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h arrayfunc.o: make_cmd.h subst.h sig.h pathnames.h externs.h arrayfunc.o: $(DEFSRC)/common.h arrayfunc.o: ${BASHINCDIR}/shmbutil.h +assoc.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h +assoc.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h +assoc.o: command.h ${BASHINCDIR}/stdc.h error.h +assoc.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h +assoc.o: assoc.h hashlib.h +assoc.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h +assoc.o: make_cmd.h subst.h sig.h pathnames.h externs.h +assoc.o: $(DEFSRC)/common.h braces.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h braces.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h braces.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h @@ -331,7 +331,7 @@ enable_hostname_completion (on_or_off) free (rl_completer_word_break_characters); rl_completer_word_break_characters = nval; } - +itrace("enable_hostname_completion: rl_completer_word_break_characters = %s", rl_completer_word_break_characters); return (old_value); } @@ -513,6 +513,12 @@ initialize_readline () bash_readline_initialized = 1; } +void +bashline_reset () +{ + bash_readline_initialized = 0; +} + /* On Sun systems at least, rl_attempted_completion_function can end up getting set to NULL, and rl_completion_entry_function set to do command word completion if Bash is interrupted while trying to complete a command diff --git a/bashline.c~ b/bashline.c~ index 84f5f3df..79831544 100644 --- a/bashline.c~ +++ b/bashline.c~ @@ -225,7 +225,7 @@ int no_empty_command_completion; int force_fignore = 1; /* Perform spelling correction on directory names during word completion */ -int dircomplete_spelling = 1; +int dircomplete_spelling = 0; static char *bash_completer_word_break_characters = " \t\n\"'@><=;|&(:"; static char *bash_nohostname_word_break_characters = " \t\n\"'><=;|&(:"; @@ -331,7 +331,7 @@ enable_hostname_completion (on_or_off) free (rl_completer_word_break_characters); rl_completer_word_break_characters = nval; } - +itrace("enable_hostname_completion: rl_completer_word_break_characters = %s", rl_completer_word_break_characters); return (old_value); } @@ -28,6 +28,7 @@ extern int bash_readline_initialized; extern void posix_readline_initialize __P((int)); extern int enable_hostname_completion __P((int)); extern void initialize_readline __P((void)); +extern void bashline_reset __P((void)); extern void bashline_reinitialize __P((void)); extern int bash_re_edit __P((char *)); diff --git a/bashline.h~ b/bashline.h~ new file mode 100644 index 00000000..eac5d353 --- /dev/null +++ b/bashline.h~ @@ -0,0 +1,49 @@ +/* bashline.h -- interface to the bash readline functions in bashline.c. */ + +/* Copyright (C) 1993 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + Bash is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2, or (at your option) any later + version. + + Bash is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License along + with Bash; see the file COPYING. If not, write to the Free Software + Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ + +#if !defined (_BASHLINE_H_) +#define _BASHLINE_H_ + +#include "stdc.h" + +extern int bash_readline_initialized; + +extern void posix_readline_initialize __P((int)); +extern int enable_hostname_completion __P((int)); +extern void initialize_readline __P((void)); +extern void bashline_reinitialize __P((void)); +extern int bash_re_edit __P((char *)); + +extern int bind_keyseq_to_unix_command __P((char *)); + +extern char **bash_default_completion __P((const char *, int, int, int, int)); + +/* Used by programmable completion code. */ +extern char *command_word_completion_function __P((const char *, int)); +extern char *bash_groupname_completion_function __P((const char *, int)); +extern char *bash_servicename_completion_function __P((const char *, int)); + +extern char **get_hostname_list __P((void)); +extern void clear_hostname_list __P((void)); + +extern char **bash_directory_completion_matches __P((const char *)); +extern char *bash_dequote_text __P((const char *)); + +#endif /* _BASHLINE_H_ */ diff --git a/builtins/break.def b/builtins/break.def index 407b6936..76326f0a 100644 --- a/builtins/break.def +++ b/builtins/break.def @@ -30,7 +30,7 @@ Exit a FOR, WHILE or UNTIL loop. If N is specified, break N enclosing loops. Exit Status: -The exit status is 0 unless the shell is not executing a loop. +The exit status is 0 unless N is not greater than or equal to 1. $END #include <config.h> @@ -97,7 +97,7 @@ Resumes the next iteration of the enclosing FOR, WHILE or UNTIL loop. If N is specified, resumes the Nth enclosing loop. Exit Status: -The exit status is 0 unless the shell is not executing a loop. +The exit status is 0 unless N is not greater than or equal to 1. $END /* Set up to continue x levels, where x defaults to 1, but can be specified diff --git a/builtins/break.def~ b/builtins/break.def~ index e5f8a9c8..4f4c6c4b 100644 --- a/builtins/break.def~ +++ b/builtins/break.def~ @@ -28,6 +28,9 @@ Exit for, while, or until loops. Exit a FOR, WHILE or UNTIL loop. If N is specified, break N enclosing loops. + +Exit Status: +The exit status is 0 unless N is not greater than or equal to 1. $END #include <config.h> @@ -92,6 +95,9 @@ Resume for, while, or until loops. Resumes the next iteration of the enclosing FOR, WHILE or UNTIL loop. If N is specified, resumes the Nth enclosing loop. + +Exit Status: +The exit status is 0 unless the shell is not executing a loop. $END /* Set up to continue x levels, where x defaults to 1, but can be specified @@ -6193,10 +6193,8 @@ loop. If \fIn\fP is specified, break \fIn\fP levels. must be \(>= 1. If .I n is greater than the number of enclosing loops, all enclosing loops -are exited. The return value is 0 unless the shell is not executing -a loop when -.B break -is executed. +are exited. +The return value is 0 unless \fIn\fP is not greater than or equal to 1. .TP \fBbuiltin\fP \fIshell\-builtin\fP [\fIarguments\fP] Execute the specified shell builtin, passing it @@ -6552,10 +6550,8 @@ is specified, resume at the \fIn\fPth enclosing loop. must be \(>= 1. If .I n is greater than the number of enclosing loops, the last enclosing loop -(the ``top-level'' loop) is resumed. The return value is 0 unless the -shell is not executing a loop when -.B continue -is executed. +(the ``top-level'' loop) is resumed. +The return value is 0 unless \fIn\fP is not greater than or equal to 1. .TP \fBdeclare\fP [\fB\-afFirtx\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...] .PD 0 diff --git a/doc/bash.1~ b/doc/bash.1~ index e7c5f739..dafaf84a 100644 --- a/doc/bash.1~ +++ b/doc/bash.1~ @@ -4793,6 +4793,12 @@ to display a screenful of possible completions at a time. .B print\-completions\-horizontally (Off) If set to \fBOn\fP, readline will display completions with matches sorted horizontally in alphabetical order, rather than down the screen. +.TP +.B revert\-all\-at\-newline (Off) +If set to \fBon\fP, readline will undo all changes to history lines +before returning when \fBaccept\-line\fP is executed. By default, +history lines may be modified and retain individual undo lists across +calls to \fBreadline\fP. .TP .B show\-all\-if\-ambiguous (Off) This alters the default behavior of the completion functions. If diff --git a/lib/readline/display.c b/lib/readline/display.c index 24dbe839..8a83e121 100644 --- a/lib/readline/display.c +++ b/lib/readline/display.c @@ -682,7 +682,7 @@ rl_redisplay () prompts that exceed two physical lines? Additional logic fix from Edward Catmur <ed@catmur.co.uk> */ #if defined (HANDLE_MULTIBYTE) - if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0 && prompt_multibyte_chars > 0) { n0 = num; temp = local_prompt_len; @@ -713,7 +713,7 @@ rl_redisplay () inv_lbreaks[++newlines] = temp; #if defined (HANDLE_MULTIBYTE) - if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0 && prompt_multibyte_chars > 0) lpos -= _rl_col_width (local_prompt, n0, num); else #endif @@ -985,13 +985,17 @@ rl_redisplay () _rl_last_c_pos != o_cpos && _rl_last_c_pos > wrap_offset && o_cpos < prompt_last_invisible) - _rl_last_c_pos -= wrap_offset; + _rl_last_c_pos -= prompt_invis_chars_first_line; /* XXX - was wrap_offset */ else if (linenum == prompt_last_screen_line && prompt_physical_chars > _rl_screenwidth && (MB_CUR_MAX > 1 && rl_byte_oriented == 0) && cpos_adjusted == 0 && _rl_last_c_pos != o_cpos && +#if 0 _rl_last_c_pos > (prompt_last_invisible - _rl_screenwidth - (wrap_offset-prompt_invis_chars_first_line))) +#else + _rl_last_c_pos > (prompt_last_invisible - _rl_screenwidth - prompt_invis_chars_first_line)) +#endif _rl_last_c_pos -= (wrap_offset-prompt_invis_chars_first_line); /* If this is the line with the prompt, we might need to diff --git a/lib/readline/display.c~ b/lib/readline/display.c~ index 3dad963a..322fe2b1 100644 --- a/lib/readline/display.c~ +++ b/lib/readline/display.c~ @@ -506,9 +506,13 @@ rl_redisplay () int _rl_wrapped_multicolumn = 0; #endif - if (!readline_echoing_p) + if (_rl_echoing_p == 0) return; + /* Block keyboard interrupts because this function manipulates global + data structures. */ + _rl_block_sigint (); + if (!rl_display_prompt) rl_display_prompt = ""; @@ -678,7 +682,7 @@ rl_redisplay () prompts that exceed two physical lines? Additional logic fix from Edward Catmur <ed@catmur.co.uk> */ #if defined (HANDLE_MULTIBYTE) - if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0 && prompt_multibyte_chars > 0) { n0 = num; temp = local_prompt_len; @@ -709,7 +713,7 @@ rl_redisplay () inv_lbreaks[++newlines] = temp; #if defined (HANDLE_MULTIBYTE) - if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0 && prompt_multibyte_chars > 0) lpos -= _rl_col_width (local_prompt, n0, num); else #endif @@ -981,13 +985,17 @@ rl_redisplay () _rl_last_c_pos != o_cpos && _rl_last_c_pos > wrap_offset && o_cpos < prompt_last_invisible) - _rl_last_c_pos -= wrap_offset; + _rl_last_c_pos -= prompt_invis_chars_first_line; /* XXX - was wrap_offset */ else if (linenum == prompt_last_screen_line && prompt_physical_chars > _rl_screenwidth && (MB_CUR_MAX > 1 && rl_byte_oriented == 0) && cpos_adjusted == 0 && _rl_last_c_pos != o_cpos && - _rl_last_c_pos > (prompt_last_invisible - _rl_screenwidth - (wrap_offset-prompt_invis_chars_first_line))) +#if 0 +_rl_last_c_pos > (prompt_last_invisible - _rl_screenwidth - (wrap_offset-prompt_invis_chars_first_line))) +#else +_rl_last_c_pos > (prompt_last_invisible - _rl_screenwidth - prompt_invis_chars_first_line)) +#endif _rl_last_c_pos -= (wrap_offset-prompt_invis_chars_first_line); /* If this is the line with the prompt, we might need to @@ -1233,6 +1241,8 @@ rl_redisplay () else visible_wrap_offset = wrap_offset; } + + _rl_release_sigint (); } /* PWP: update_line() is based on finding the middle difference of each @@ -2458,7 +2468,7 @@ _rl_redisplay_after_sigwinch () void _rl_clean_up_for_exit () { - if (readline_echoing_p) + if (_rl_echoing_p) { _rl_move_vert (_rl_vis_botlin); _rl_vis_botlin = 0; @@ -1,2 +1,2 @@ # Set of available languages. -en@quot en@boldquot af bg ca de eo es et fr hu ja nl pl pt_BR ro ru sk sv tr vi +en@quot en@boldquot af bg ca de eo es et fr hu ja lt nl pl pt_BR ro ru sk sv tr vi diff --git a/po/lt.po b/po/lt.po new file mode 100644 index 00000000..5cdde2e1 --- /dev/null +++ b/po/lt.po @@ -0,0 +1,2527 @@ +# translation of bash-3.2.po to Lithuanian +# Copyright (C) 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the bash package. +# +# Gintautas Miliauskas <gintas@akl.lt>, 2008. +msgid "" +msgstr "" +"Project-Id-Version: bash-3.2\n" +"POT-Creation-Date: 2006-10-23 17:20-0400\n" +"PO-Revision-Date: 2008-03-14 22:41+0200\n" +"Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n" +"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: arrayfunc.c:48 +msgid "bad array subscript" +msgstr "" + +#: arrayfunc.c:362 +#, c-format +msgid "%s: cannot assign to non-numeric index" +msgstr "" + +#: bashhist.c:331 +#, c-format +msgid "%s: cannot create: %s" +msgstr "%s: nepavyko sukurti: %s" + +#: bashline.c:3030 +msgid "bash_execute_unix_command: cannot find keymap for command" +msgstr "" + +#: bashline.c:3079 +#, c-format +msgid "%s: first non-whitespace character is not `\"'" +msgstr "%s: pirmas ne tarpo simbolis nėra „\"“" + +#: bashline.c:3108 +#, c-format +msgid "no closing `%c' in %s" +msgstr "nėra uždarančiojo „%c“ %s" + +#: bashline.c:3142 +#, c-format +msgid "%s: missing colon separator" +msgstr "%s: trūksta dvitaškio skirtuko" + +#: builtins/bind.def:194 +#, c-format +msgid "`%s': invalid keymap name" +msgstr "„%s“: netaisyklingas keymap'o pavadinimas" + +#: builtins/bind.def:233 +#, c-format +msgid "%s: cannot read: %s" +msgstr "%s: nepavyko perskaityti: %s" + +#: builtins/bind.def:248 +#, c-format +msgid "`%s': cannot unbind" +msgstr "" + +#: builtins/bind.def:283 +#, c-format +msgid "`%s': unknown function name" +msgstr "„%s“: nežinomas funkcijos pavadinimas" + +#: builtins/bind.def:291 +#, c-format +msgid "%s is not bound to any keys.\n" +msgstr "%s nėra priskirtas jokiam klavišui.\n" + +#: builtins/bind.def:295 +#, c-format +msgid "%s can be invoked via " +msgstr "%s gali būti iškviestas su" + +#: builtins/break.def:128 +msgid "only meaningful in a `for', `while', or `until' loop" +msgstr "prasminga tik „for“, „while“ arba „until“ cikle" + +#: builtins/caller.def:131 +msgid "Returns the context of the current subroutine call." +msgstr "" + +#: builtins/caller.def:132 builtins/caller.def:136 builtins/pushd.def:666 +#: builtins/pushd.def:674 builtins/pushd.def:677 builtins/pushd.def:687 +#: builtins/pushd.def:691 builtins/pushd.def:695 builtins/pushd.def:698 +#: builtins/pushd.def:701 builtins/pushd.def:710 builtins/pushd.def:714 +#: builtins/pushd.def:718 builtins/pushd.def:721 +msgid " " +msgstr " " + +#: builtins/caller.def:133 +msgid "Without EXPR, returns returns \"$line $filename\". With EXPR," +msgstr "" + +#: builtins/caller.def:134 +msgid "returns \"$line $subroutine $filename\"; this extra information" +msgstr "" + +#: builtins/caller.def:135 +msgid "can be used used to provide a stack trace." +msgstr "" + +#: builtins/caller.def:137 +msgid "The value of EXPR indicates how many call frames to go back before the" +msgstr "" + +#: builtins/caller.def:138 +msgid "current one; the top frame is frame 0." +msgstr "" + +#: builtins/cd.def:204 +msgid "HOME not set" +msgstr "HOME nenustatytas" + +#: builtins/cd.def:216 +msgid "OLDPWD not set" +msgstr "OLDPWD nenustatytas" + +#: builtins/common.c:133 test.c:822 +msgid "too many arguments" +msgstr "per daug argumentų" + +#: builtins/common.c:157 shell.c:474 shell.c:748 +#, c-format +msgid "%s: option requires an argument" +msgstr "%s: parametrui reikia argumento" + +#: builtins/common.c:164 +#, c-format +msgid "%s: numeric argument required" +msgstr "%s: reikia skaitinio argumento" + +#: builtins/common.c:171 +#, c-format +msgid "%s: not found" +msgstr "%s: nerasta" + +#: builtins/common.c:180 shell.c:761 +#, c-format +msgid "%s: invalid option" +msgstr "%s: nesamas parametras" + +#: builtins/common.c:187 +#, c-format +msgid "%s: invalid option name" +msgstr "%s: netaisyklingas parametro vardas" + +#: builtins/common.c:194 general.c:230 general.c:235 +#, c-format +msgid "`%s': not a valid identifier" +msgstr "`%s': netaisyklingas identifikatorius" + +#: builtins/common.c:201 +#, c-format +msgid "%s: invalid number" +msgstr "%s: netaisyklingas skaičius" + +#: builtins/common.c:208 +#, c-format +msgid "%s: invalid signal specification" +msgstr "%s: netaisyklinga signalo specifikacija" + +#: builtins/common.c:215 +#, c-format +msgid "`%s': not a pid or valid job spec" +msgstr "„%s“: ne pid'as ar taisyklinga darbo specifikacija" + +#: builtins/common.c:222 error.c:451 +#, c-format +msgid "%s: readonly variable" +msgstr "%s: kintamasis tik skaitymui" + +#: builtins/common.c:230 +#, c-format +msgid "%s: %s out of range" +msgstr "%s: %s išėjo už ribų" + +#: builtins/common.c:230 builtins/common.c:232 +msgid "argument" +msgstr "argumentas" + +#: builtins/common.c:232 +#, c-format +msgid "%s out of range" +msgstr "%s už ribų" + +#: builtins/common.c:240 +#, c-format +msgid "%s: no such job" +msgstr "%s: nėra tokio darbo" + +#: builtins/common.c:248 +#, c-format +msgid "%s: no job control" +msgstr "%s: nėra darbų valdymo" + +#: builtins/common.c:250 +msgid "no job control" +msgstr "nėra darbų valdymo" + +#: builtins/common.c:260 +#, c-format +msgid "%s: restricted" +msgstr "%s: apribota" + +#: builtins/common.c:262 +msgid "restricted" +msgstr "apribota" + +#: builtins/common.c:270 +#, c-format +msgid "%s: not a shell builtin" +msgstr "%s: ne vidinė aplinkos komanda" + +#: builtins/common.c:276 +#, c-format +msgid "write error: %s" +msgstr "rašymo klaida: %s" + +#: builtins/common.c:481 +#, c-format +msgid "%s: error retrieving current directory: %s: %s\n" +msgstr "%s: klaida skaitant esamą aplanką: %s: %s\n" + +#: builtins/common.c:547 builtins/common.c:549 +#, c-format +msgid "%s: ambiguous job spec" +msgstr "%s: dviprasmis darbo aprašymas" + +#: builtins/complete.def:251 +#, c-format +msgid "%s: invalid action name" +msgstr "%s: netaisyklingas veiksmo pavadinimas" + +#: builtins/complete.def:381 builtins/complete.def:524 +#, c-format +msgid "%s: no completion specification" +msgstr "%s: nėra baigimo specifikacijos" + +#: builtins/complete.def:571 +msgid "warning: -F option may not work as you expect" +msgstr "įspėjimas: parametras -F gali neveikti taip, kaip tikitės" + +#: builtins/complete.def:573 +msgid "warning: -C option may not work as you expect" +msgstr "įspėjimas: parametras -C gali neveikti taip, kaip tikitės" + +#: builtins/declare.def:106 +msgid "can only be used in a function" +msgstr "galima naudoti tik funkcijoje" + +#: builtins/declare.def:306 +msgid "cannot use `-f' to make functions" +msgstr "negalima naudoti „-f“ funkcijoms kurti" + +#: builtins/declare.def:318 execute_cmd.c:4073 +#, c-format +msgid "%s: readonly function" +msgstr "%s: funkcija tik skaitymui" + +#: builtins/declare.def:406 +#, c-format +msgid "%s: cannot destroy array variables in this way" +msgstr "%s: negalima tokiu būdu sunaikinti masyvų kintamųjų" + +#: builtins/enable.def:128 builtins/enable.def:136 +msgid "dynamic loading not available" +msgstr "dinaminis įkrovimas negalimas" + +#: builtins/enable.def:303 +#, c-format +msgid "cannot open shared object %s: %s" +msgstr "nepavyko atverti bendrojo objekto %s: %s" + +#: builtins/enable.def:326 +#, c-format +msgid "cannot find %s in shared object %s: %s" +msgstr "nepavyko rasti %s bendrajame objekte %s: %s" + +#: builtins/enable.def:450 +#, c-format +msgid "%s: not dynamically loaded" +msgstr "%s: nedinamiškai įkrauta" + +#: builtins/enable.def:465 +#, c-format +msgid "%s: cannot delete: %s" +msgstr "%s: nepavyko ištrinti: %s" + +#: builtins/evalfile.c:129 execute_cmd.c:3930 shell.c:1409 +#, c-format +msgid "%s: is a directory" +msgstr "%s: aplankas" + +#: builtins/evalfile.c:134 +#, c-format +msgid "%s: not a regular file" +msgstr "%s: ne paprastas failas" + +#: builtins/evalfile.c:142 +#, c-format +msgid "%s: file is too large" +msgstr "%s: failas per didelis" + +#: builtins/exec.def:205 +#, c-format +msgid "%s: cannot execute: %s" +msgstr "%s: nepavyko paleisti: %s" + +#: builtins/exit.def:83 +msgid "not login shell: use `exit'" +msgstr "" + +#: builtins/exit.def:111 +msgid "There are stopped jobs.\n" +msgstr "Yra sustabdytų darbų.\n" + +#: builtins/fc.def:258 +msgid "no command found" +msgstr "komandų nerasta" + +#: builtins/fc.def:328 +msgid "history specification" +msgstr "" + +#: builtins/fc.def:349 +#, c-format +msgid "%s: cannot open temp file: %s" +msgstr "%s: nepavyko atverti laikinojo failo: %s" + +#: builtins/fg_bg.def:149 +#, c-format +msgid "job %d started without job control" +msgstr "" + +#: builtins/getopt.c:109 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: neleistinas parametras -- %c\n" + +#: builtins/getopt.c:110 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: parametrui reikia argumento -- %c\n" + +#: builtins/hash.def:84 +msgid "hashing disabled" +msgstr "" + +#: builtins/hash.def:130 +#, c-format +msgid "%s: hash table empty\n" +msgstr "%s: maišos lentelė tuščia\n" + +#: builtins/help.def:108 +msgid "Shell commands matching keywords `" +msgstr "" + +#: builtins/help.def:110 +msgid "Shell commands matching keyword `" +msgstr "" + +#: builtins/help.def:138 +#, c-format +msgid "no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'." +msgstr "nėra žinyno temų, atitinkančių „%s“. Bandykite „help help“, „man -k %s“ arba „info %s“." + +#: builtins/help.def:164 +#, c-format +msgid "%s: cannot open: %s" +msgstr "%s: nepavyko atverti: %s" + +#: builtins/help.def:182 +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 "" + +#: builtins/history.def:150 +msgid "cannot use more than one of -anrw" +msgstr "negalima naudoti daugiau negu vieno iš -anrw" + +#: builtins/history.def:182 +msgid "history position" +msgstr "" + +#: builtins/history.def:400 +#, c-format +msgid "%s: history expansion failed" +msgstr "" + +#: builtins/jobs.def:99 +msgid "no other options allowed with `-x'" +msgstr "" + +#: builtins/kill.def:187 +#, c-format +msgid "%s: arguments must be process or job IDs" +msgstr "" + +#: builtins/kill.def:250 +msgid "Unknown error" +msgstr "Nežinoma klaida" + +#: builtins/let.def:94 builtins/let.def:119 expr.c:498 expr.c:513 +msgid "expression expected" +msgstr "tikėtasi išraiškos" + +#: builtins/printf.def:339 +#, c-format +msgid "`%s': missing format character" +msgstr "„%s“: trūksta formato simbolio" + +#: builtins/printf.def:516 +#, c-format +msgid "`%c': invalid format character" +msgstr "„%c“: netaisyklingas formato simbolis" + +#: builtins/printf.def:722 +msgid "missing hex digit for \\x" +msgstr "trūksta šešioliktainio skaitmens išraiškoje \\x" + +#: builtins/pushd.def:175 +msgid "no other directory" +msgstr "nėra kito aplanko" + +#: builtins/pushd.def:442 +msgid "<no current directory>" +msgstr "<nėra esamo aplanko>" + +#: builtins/pushd.def:663 +msgid "Display the list of currently remembered directories. Directories" +msgstr "" + +#: builtins/pushd.def:664 +msgid "find their way onto the list with the `pushd' command; you can get" +msgstr "" + +#: builtins/pushd.def:665 +msgid "back up through the list with the `popd' command." +msgstr "" + +#: builtins/pushd.def:667 +msgid "The -l flag specifies that `dirs' should not print shorthand versions" +msgstr "" + +#: builtins/pushd.def:668 +msgid "of directories which are relative to your home directory. This means" +msgstr "" + +#: builtins/pushd.def:669 +msgid "that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag" +msgstr "" + +#: builtins/pushd.def:670 +msgid "causes `dirs' to print the directory stack with one entry per line," +msgstr "" + +#: builtins/pushd.def:671 +msgid "prepending the directory name with its position in the stack. The -p" +msgstr "" + +#: builtins/pushd.def:672 +msgid "flag does the same thing, but the stack position is not prepended." +msgstr "" + +#: builtins/pushd.def:673 +msgid "The -c flag clears the directory stack by deleting all of the elements." +msgstr "" + +#: builtins/pushd.def:675 +msgid "+N displays the Nth entry counting from the left of the list shown by" +msgstr "" + +#: builtins/pushd.def:676 builtins/pushd.def:679 +msgid " dirs when invoked without options, starting with zero." +msgstr "" + +#: builtins/pushd.def:678 +msgid "-N displays the Nth entry counting from the right of the list shown by" +msgstr "" + +#: builtins/pushd.def:684 +msgid "Adds a directory to the top of the directory stack, or rotates" +msgstr "" + +#: builtins/pushd.def:685 +msgid "the stack, making the new top of the stack the current working" +msgstr "" + +#: builtins/pushd.def:686 +msgid "directory. With no arguments, exchanges the top two directories." +msgstr "" + +#: builtins/pushd.def:688 +msgid "+N Rotates the stack so that the Nth directory (counting" +msgstr "" + +#: builtins/pushd.def:689 +msgid " from the left of the list shown by `dirs', starting with" +msgstr "" + +#: builtins/pushd.def:690 builtins/pushd.def:694 +msgid " zero) is at the top." +msgstr "" + +#: builtins/pushd.def:692 +msgid "-N Rotates the stack so that the Nth directory (counting" +msgstr "" + +#: builtins/pushd.def:693 +msgid " from the right of the list shown by `dirs', starting with" +msgstr "" + +#: builtins/pushd.def:696 +msgid "-n suppress the normal change of directory when adding directories" +msgstr "" + +#: builtins/pushd.def:697 +msgid " to the stack, so only the stack is manipulated." +msgstr "" + +#: builtins/pushd.def:699 +msgid "dir adds DIR to the directory stack at the top, making it the" +msgstr "" + +#: builtins/pushd.def:700 +msgid " new current working directory." +msgstr "" + +#: builtins/pushd.def:702 builtins/pushd.def:722 +msgid "You can see the directory stack with the `dirs' command." +msgstr "" + +#: builtins/pushd.def:707 +msgid "Removes entries from the directory stack. With no arguments," +msgstr "" + +#: builtins/pushd.def:708 +msgid "removes the top directory from the stack, and cd's to the new" +msgstr "" + +#: builtins/pushd.def:709 +msgid "top directory." +msgstr "" + +#: builtins/pushd.def:711 +msgid "+N removes the Nth entry counting from the left of the list" +msgstr "" + +#: builtins/pushd.def:712 +msgid " shown by `dirs', starting with zero. For example: `popd +0'" +msgstr "" + +#: builtins/pushd.def:713 +msgid " removes the first directory, `popd +1' the second." +msgstr "" + +#: builtins/pushd.def:715 +msgid "-N removes the Nth entry counting from the right of the list" +msgstr "" + +#: builtins/pushd.def:716 +msgid " shown by `dirs', starting with zero. For example: `popd -0'" +msgstr "" + +#: builtins/pushd.def:717 +msgid " removes the last directory, `popd -1' the next to last." +msgstr "" + +#: builtins/pushd.def:719 +msgid "-n suppress the normal change of directory when removing directories" +msgstr "" + +#: builtins/pushd.def:720 +msgid " from the stack, so only the stack is manipulated." +msgstr "" + +#: builtins/read.def:210 +#, c-format +msgid "%s: invalid timeout specification" +msgstr "" + +#: builtins/read.def:233 +#, c-format +msgid "%s: invalid file descriptor specification" +msgstr "%s: netaisyklinga failo deskriptoriaus specifikacija" + +#: builtins/read.def:240 +#, c-format +msgid "%d: invalid file descriptor: %s" +msgstr "%d: netaisyklingas failo deskriptorius: %s" + +#: builtins/read.def:478 +#, c-format +msgid "read error: %d: %s" +msgstr "skaitymo klaida: %d: %s" + +#: builtins/return.def:63 +msgid "can only `return' from a function or sourced script" +msgstr "galima grįžti (return) tik iš funkcijos ar scenarijaus" + +#: builtins/set.def:744 +msgid "cannot simultaneously unset a function and a variable" +msgstr "" + +#: builtins/set.def:781 +#, c-format +msgid "%s: cannot unset" +msgstr "" + +#: builtins/set.def:788 +#, c-format +msgid "%s: cannot unset: readonly %s" +msgstr "" + +#: builtins/set.def:799 +#, c-format +msgid "%s: not an array variable" +msgstr "%s: ne masyvo kintamasis" + +#: builtins/setattr.def:166 +#, c-format +msgid "%s: not a function" +msgstr "%s: ne funkcija" + +#: builtins/shift.def:66 builtins/shift.def:72 +msgid "shift count" +msgstr "postūmių skaičius" + +#: builtins/shopt.def:227 +msgid "cannot set and unset shell options simultaneously" +msgstr "" + +#: builtins/shopt.def:292 +#, c-format +msgid "%s: invalid shell option name" +msgstr "" + +#: builtins/source.def:115 +msgid "filename argument required" +msgstr "reikia failo pavadinimo argumento" + +#: builtins/source.def:135 +#, c-format +msgid "%s: file not found" +msgstr "%s: failas nerastas" + +#: builtins/suspend.def:95 +msgid "cannot suspend" +msgstr "nepavyko sustabdyti" + +#: builtins/suspend.def:105 +msgid "cannot suspend a login shell" +msgstr "" + +#: builtins/type.def:232 +#, c-format +msgid "%s is aliased to `%s'\n" +msgstr "%s yra „%s“ sinonimas\n" + +#: builtins/type.def:253 +#, c-format +msgid "%s is a shell keyword\n" +msgstr "%s yra aplinkos raktinis žodis\n" + +#: builtins/type.def:273 +#, c-format +msgid "%s is a function\n" +msgstr "%s yra funkcija\n" + +#: builtins/type.def:298 +#, c-format +msgid "%s is a shell builtin\n" +msgstr "%s yra aplinkos vidinė komanda\n" + +#: builtins/type.def:319 +#, c-format +msgid "%s is %s\n" +msgstr "%s yra %s\n" + +#: builtins/type.def:339 +#, c-format +msgid "%s is hashed (%s)\n" +msgstr "" + +#: builtins/ulimit.def:352 +#, c-format +msgid "%s: invalid limit argument" +msgstr "%s: netaisyklingas limito argumentas" + +#: builtins/ulimit.def:378 +#, c-format +msgid "`%c': bad command" +msgstr "`%c': bloga komanda" + +#: builtins/ulimit.def:407 +#, c-format +msgid "%s: cannot get limit: %s" +msgstr "%s: nepavyko gauti limito: %s" + +#: builtins/ulimit.def:445 +#, c-format +msgid "%s: cannot modify limit: %s" +msgstr "%s: nepayko pakeisti limito: %s" + +#: builtins/umask.def:112 +msgid "octal number" +msgstr "aštuntainis skaičius" + +#: builtins/umask.def:226 +#, c-format +msgid "`%c': invalid symbolic mode operator" +msgstr "" + +#: builtins/umask.def:281 +#, c-format +msgid "`%c': invalid symbolic mode character" +msgstr "" + +#: error.c:163 +#, c-format +msgid "last command: %s\n" +msgstr "paskutinė komanda: %s\n" + +#: error.c:171 +msgid "Aborting..." +msgstr "Nutraukiama..." + +#: error.c:258 +#, c-format +msgid "%s: warning: " +msgstr "%s: įspėjimas: " + +#: error.c:403 +msgid "unknown command error" +msgstr "nežinoma komandos klaida" + +#: error.c:404 +msgid "bad command type" +msgstr "blogas komandos tipas" + +#: error.c:405 +msgid "bad connector" +msgstr "blogas jungtukas" + +#: error.c:406 +msgid "bad jump" +msgstr "" + +#: error.c:444 +#, c-format +msgid "%s: unbound variable" +msgstr "%s: nepriskirtas kintamasis" + +#: eval.c:176 +msgid "\atimed out waiting for input: auto-logout\n" +msgstr "\alaukiant įvedimo baigėsi laikas: automatiškai atsijungta\n" + +#: execute_cmd.c:474 +#, c-format +msgid "cannot redirect standard input from /dev/null: %s" +msgstr "" + +#: execute_cmd.c:1058 +#, c-format +msgid "TIMEFORMAT: `%c': invalid format character" +msgstr "TIMEFORMAT: „%c“: netaisyklingas formato simbolis" + +#: execute_cmd.c:3629 +#, c-format +msgid "%s: restricted: cannot specify `/' in command names" +msgstr "%s: apribota: negalima naudoti „/“ komandų pavadinimuose" + +#: execute_cmd.c:3717 +#, c-format +msgid "%s: command not found" +msgstr "%s: komanda nerasta" + +#: execute_cmd.c:3963 +#, c-format +msgid "%s: %s: bad interpreter" +msgstr "%s: %s: blogas interpretatorius" + +#: execute_cmd.c:4000 +#, c-format +msgid "%s: cannot execute binary file" +msgstr "%s: negalima vykdyti dvejetainių failų" + +#: execute_cmd.c:4112 +#, c-format +msgid "cannot duplicate fd %d to fd %d" +msgstr "" + +#: expr.c:241 +msgid "expression recursion level exceeded" +msgstr "viršytas išraiškos rekursijos lygis" + +#: expr.c:265 +msgid "recursion stack underflow" +msgstr "rekursijos steko atvirkštinis perpildymas" + +#: expr.c:376 +msgid "syntax error in expression" +msgstr "sintaksės klaida išraiškoje" + +#: expr.c:416 +msgid "attempted assignment to non-variable" +msgstr "bandymas priskirti ne kintamajam" + +#: expr.c:437 expr.c:442 expr.c:752 +msgid "division by 0" +msgstr "dalyba iš 0" + +#: expr.c:468 +msgid "bug: bad expassign token" +msgstr "klaida: bloga expassign leksema" + +#: expr.c:510 +msgid "`:' expected for conditional expression" +msgstr "sąlygos išraiškoje tikėtasi „:“" + +#: expr.c:777 +msgid "exponent less than 0" +msgstr "eksponentas mažesnis už 0" + +#: expr.c:822 +msgid "identifier expected after pre-increment or pre-decrement" +msgstr "" + +#: expr.c:850 +msgid "missing `)'" +msgstr "Trūksta „)“" + +#: expr.c:893 expr.c:1171 +msgid "syntax error: operand expected" +msgstr "sintaksės klaida: tikėtasi operando" + +#: expr.c:1173 +msgid "syntax error: invalid arithmetic operator" +msgstr "sintaksės klaida: netaisyklingas aritmetinis operatorius" + +#: expr.c:1251 +msgid "invalid number" +msgstr "netaisyklingas skaičius" + +#: expr.c:1255 +msgid "invalid arithmetic base" +msgstr "netaisyklingas aritmetinis pagrindas" + +#: expr.c:1275 +msgid "value too great for base" +msgstr "per didelė pagrindo reikšmė" + +#: general.c:61 +msgid "getcwd: cannot access parent directories" +msgstr "getcwd: nepavyko pasiekti aukštesnių aplankų" + +#: input.c:237 +#, c-format +msgid "cannot allocate new file descriptor for bash input from fd %d" +msgstr "" + +#: input.c:245 +#, c-format +msgid "save_bash_input: buffer already exists for new fd %d" +msgstr "" + +#: jobs.c:876 +#, c-format +msgid "forked pid %d appears in running job %d" +msgstr "" + +#: jobs.c:983 +#, c-format +msgid "deleting stopped job %d with process group %ld" +msgstr "" + +#: jobs.c:1378 +#, c-format +msgid "describe_pid: %ld: no such pid" +msgstr "describe_pid: %ld: tokio pid nėra" + +#: jobs.c:2061 nojobs.c:575 +#, c-format +msgid "wait: pid %ld is not a child of this shell" +msgstr "" + +#: jobs.c:2265 +#, c-format +msgid "wait_for: No record of process %ld" +msgstr "wait_for: nėra proceso %ld įrašo" + +#: jobs.c:2524 +#, c-format +msgid "wait_for_job: job %d is stopped" +msgstr "wait_for_job: darbas %d yra sustabdytas" + +#: jobs.c:2746 +#, c-format +msgid "%s: job has terminated" +msgstr "%s: darbas baigtas" + +#: jobs.c:2755 +#, c-format +msgid "%s: job %d already in background" +msgstr "%s: darbas %d jau fone" + +#: jobs.c:3546 +msgid "no job control in this shell" +msgstr "šioje aplinkoje nėra darbų valdymo" + +#: lib/malloc/malloc.c:298 +#, c-format +msgid "malloc: failed assertion: %s\n" +msgstr "malloc: pažeista prielaida: %s\n" + +#: lib/malloc/malloc.c:314 +#, c-format +msgid "" +"\r\n" +"malloc: %s:%d: assertion botched\r\n" +msgstr "" +"\r\n" +"malloc: %s:%d: prielaida pažeista\r\n" + +#: lib/malloc/malloc.c:799 +msgid "malloc: block on free list clobbered" +msgstr "" + +#: lib/malloc/malloc.c:876 +msgid "free: called with already freed block argument" +msgstr "" + +#: lib/malloc/malloc.c:879 +msgid "free: called with unallocated block argument" +msgstr "" + +#: lib/malloc/malloc.c:898 +msgid "free: underflow detected; mh_nbytes out of range" +msgstr "" + +#: lib/malloc/malloc.c:904 +msgid "free: start and end chunk sizes differ" +msgstr "" + +#: lib/malloc/malloc.c:1003 +msgid "realloc: called with unallocated block argument" +msgstr "" + +#: lib/malloc/malloc.c:1018 +msgid "realloc: underflow detected; mh_nbytes out of range" +msgstr "" + +#: lib/malloc/malloc.c:1024 +msgid "realloc: start and end chunk sizes differ" +msgstr "" + +#: lib/malloc/table.c:176 +msgid "register_alloc: alloc table is full with FIND_ALLOC?\n" +msgstr "" + +#: lib/malloc/table.c:183 +#, c-format +msgid "register_alloc: %p already in table as allocated?\n" +msgstr "" + +#: lib/malloc/table.c:219 +#, c-format +msgid "register_free: %p already in table as free?\n" +msgstr "" + +#: lib/malloc/watch.c:46 +msgid "allocated" +msgstr "išskirta" + +#: lib/malloc/watch.c:48 +msgid "freed" +msgstr "atlaisvinta" + +#: lib/malloc/watch.c:50 +msgid "requesting resize" +msgstr "prašoma dydžio keitimo" + +#: lib/malloc/watch.c:52 +msgid "just resized" +msgstr "tik ką pakeistas dydis" + +#: lib/malloc/watch.c:54 +msgid "bug: unknown operation" +msgstr "klaida: nežinoma operacija" + +#: lib/malloc/watch.c:56 +#, c-format +msgid "malloc: watch alert: %p %s " +msgstr "" + +#: lib/sh/fmtulong.c:101 +msgid "invalid base" +msgstr "" + +#: lib/sh/netopen.c:168 +#, c-format +msgid "%s: host unknown" +msgstr "%s: adresas nežinomas" + +#: lib/sh/netopen.c:175 +#, c-format +msgid "%s: invalid service" +msgstr "%s: netaisyklinga tarnyba" + +#: lib/sh/netopen.c:306 +#, c-format +msgid "%s: bad network path specification" +msgstr "%s: netaisyklingas tinklo kelias" + +#: lib/sh/netopen.c:346 +msgid "network operations not supported" +msgstr "tinklo operacijos nepalaikomos" + +#: mailcheck.c:386 +msgid "You have mail in $_" +msgstr "Turite laiškų $_" + +#: mailcheck.c:411 +msgid "You have new mail in $_" +msgstr "Turite naujų laiškų $_" + +#: mailcheck.c:427 +#, c-format +msgid "The mail in %s has been read\n" +msgstr "Paštas %s perskaitytas\n" + +#: make_cmd.c:322 +msgid "syntax error: arithmetic expression required" +msgstr "sintaksės klaida: reikia aritmetinės išraiškos" + +#: make_cmd.c:324 +msgid "syntax error: `;' unexpected" +msgstr "sintaksės klaida: netikėtas „;“" + +#: make_cmd.c:325 +#, c-format +msgid "syntax error: `((%s))'" +msgstr "sintaksės klaida: „((%s))“" + +#: make_cmd.c:566 +#, c-format +msgid "make_here_document: bad instruction type %d" +msgstr "make_here_document: blogas instrukcijos tipas %d" + +#: make_cmd.c:741 +#, c-format +msgid "make_redirection: redirection instruction `%d' out of range" +msgstr "make_redirection: nukreipimo instrukcija „%d“ už ribų" + +#: parse.y:2759 +#, c-format +msgid "unexpected EOF while looking for matching `%c'" +msgstr "netikėta failo pabaiga ieškant atitinkamo „%c“" + +#: parse.y:3071 +msgid "unexpected EOF while looking for `]]'" +msgstr "netikėta failo pabaiga ieškant „]]“" + +#: parse.y:3076 +#, c-format +msgid "syntax error in conditional expression: unexpected token `%s'" +msgstr "sintaksės klaida sąlygos išraiškoje: netikėta leksema „%s“" + +#: parse.y:3080 +msgid "syntax error in conditional expression" +msgstr "sintaksės klaida sąlygos išraiškoje" + +#: parse.y:3158 +#, c-format +msgid "unexpected token `%s', expected `)'" +msgstr "netikėta leksema „%s“, tikėtasi „)“" + +#: parse.y:3162 +msgid "expected `)'" +msgstr "tikėtasi „)“" + +#: parse.y:3190 +#, c-format +msgid "unexpected argument `%s' to conditional unary operator" +msgstr "netikėtas argumentas „%s“ sąlygos unariniam operatoriui" + +#: parse.y:3194 +msgid "unexpected argument to conditional unary operator" +msgstr "netikėtas argumentas sąlygos unariniam operatoriui" + +#: parse.y:3234 +#, c-format +msgid "unexpected token `%s', conditional binary operator expected" +msgstr "netikėta leksema „%s“, tikėtasi sąlyginio binarinio operatoriaus" + +#: parse.y:3238 +msgid "conditional binary operator expected" +msgstr "tikėtasi sąlygos binarinio operatoriaus" + +#: parse.y:3255 +#, c-format +msgid "unexpected argument `%s' to conditional binary operator" +msgstr "netikėtas argumentas „%s“ sąlygos binariniam operatoriui" + +#: parse.y:3259 +msgid "unexpected argument to conditional binary operator" +msgstr "netikėtas argumentas sąlygos binariniam operatoriui" + +#: parse.y:3270 +#, c-format +msgid "unexpected token `%c' in conditional command" +msgstr "netikėta leksema „%c“ sąlygos komandoje" + +#: parse.y:3273 +#, c-format +msgid "unexpected token `%s' in conditional command" +msgstr "netikėta leksema „%s“ sąlygos komandoje" + +#: parse.y:3277 +#, c-format +msgid "unexpected token %d in conditional command" +msgstr "netikėta leksema %d sąlygos komandoje" + +#: parse.y:4523 +#, c-format +msgid "syntax error near unexpected token `%s'" +msgstr "sintaksės klaida prie netikėtos leksemos: „%s“" + +#: parse.y:4541 +#, c-format +msgid "syntax error near `%s'" +msgstr "sintaksės klaida prie „%s“" + +#: parse.y:4551 +msgid "syntax error: unexpected end of file" +msgstr "sintaksės klaida: netikėta failo pabaiga" + +#: parse.y:4551 +msgid "syntax error" +msgstr "sintaksės klaida" + +#: parse.y:4613 +#, c-format +msgid "Use \"%s\" to leave the shell.\n" +msgstr "Naudokite „%s“, jei norite išeiti iš ap.\n" + +#: parse.y:4775 +msgid "unexpected EOF while looking for matching `)'" +msgstr "netikėta failo pabaiga ieškant atitinkamo „)“" + +#: pcomplete.c:1002 +#, c-format +msgid "completion: function `%s' not found" +msgstr "completion: funkcija „%s“ nerasta" + +#: pcomplib.c:179 +#, c-format +msgid "progcomp_insert: %s: NULL COMPSPEC" +msgstr "progcomp_insert: %s: NULL COMPSPEC" + +#: print_cmd.c:264 +#, c-format +msgid "print_command: bad connector `%d'" +msgstr "print_command: blogas jungtukas „%d“" + +#: print_cmd.c:1236 +#, c-format +msgid "cprintf: `%c': invalid format character" +msgstr "cprintf: „%c“: netaisyklingas formato simbolis" + +#: redir.c:99 +msgid "file descriptor out of range" +msgstr "failo deskriptorius už ribų" + +#: redir.c:141 +#, c-format +msgid "%s: ambiguous redirect" +msgstr "%s: ambiguous redirect" + +#: redir.c:145 +#, c-format +msgid "%s: cannot overwrite existing file" +msgstr "%s: negalima perrašyti egzistuojančio failo" + +#: redir.c:150 +#, c-format +msgid "%s: restricted: cannot redirect output" +msgstr "%s: apribota: negalima peradresuoti išvedimo" + +#: redir.c:155 +#, c-format +msgid "cannot create temp file for here document: %s" +msgstr "nepavyko sukurti laikino failo „here“ dokumentui: %s" + +#: redir.c:509 +msgid "/dev/(tcp|udp)/host/port not supported without networking" +msgstr "/dev/(tcp|udp)/komp/prievadas nepalaikoma be tinklo" + +#: redir.c:965 +msgid "redirection error: cannot duplicate fd" +msgstr "nukreipimo klaida: nepavyko dublikuoti fd" + +#: shell.c:309 +msgid "could not find /tmp, please create!" +msgstr "nepavyko rasti /tmp, sukurkite šį aplanką!" + +#: shell.c:313 +msgid "/tmp must be a valid directory name" +msgstr "/tmp turi būti taisyklingas aplanko pavadinimas" + +#: shell.c:850 +#, c-format +msgid "%c%c: invalid option" +msgstr "%c%c: netaisyklingas parametras" + +#: shell.c:1600 +msgid "I have no name!" +msgstr "Neturiu vardo!" + +#: shell.c:1735 +#, c-format +msgid "" +"Usage:\t%s [GNU long option] [option] ...\n" +"\t%s [GNU long option] [option] script-file ...\n" +msgstr "" + +#: shell.c:1737 +msgid "GNU long options:\n" +msgstr "" + +#: shell.c:1741 +msgid "Shell options:\n" +msgstr "" + +#: shell.c:1742 +msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n" +msgstr "" + +#: shell.c:1757 +#, c-format +msgid "\t-%s or -o option\n" +msgstr "" + +#: shell.c:1763 +#, c-format +msgid "Type `%s -c \"help set\"' for more information about shell options.\n" +msgstr "" + +#: shell.c:1764 +#, c-format +msgid "Type `%s -c help' for more information about shell builtin commands.\n" +msgstr "" + +#: shell.c:1765 +msgid "Use the `bashbug' command to report bugs.\n" +msgstr "" + +#: sig.c:557 +#, c-format +msgid "sigprocmask: %d: invalid operation" +msgstr "sigprocmask: %d: netaisyklinga operacija" + +#: subst.c:1160 +#, c-format +msgid "bad substitution: no closing `%s' in %s" +msgstr "" + +#: subst.c:2328 +#, c-format +msgid "%s: cannot assign list to array member" +msgstr "" + +#: subst.c:4265 subst.c:4281 +msgid "cannot make pipe for process substitution" +msgstr "" + +#: subst.c:4312 +msgid "cannot make child for process substitution" +msgstr "" + +#: subst.c:4357 +#, c-format +msgid "cannot open named pipe %s for reading" +msgstr "" + +#: subst.c:4359 +#, c-format +msgid "cannot open named pipe %s for writing" +msgstr "" + +#: subst.c:4367 +#, c-format +msgid "cannout reset nodelay mode for fd %d" +msgstr "" + +#: subst.c:4377 +#, c-format +msgid "cannot duplicate named pipe %s as fd %d" +msgstr "" + +#: subst.c:4552 +msgid "cannot make pipe for command substitution" +msgstr "" + +#: subst.c:4588 +msgid "cannot make child for command substitution" +msgstr "" + +#: subst.c:4605 +msgid "command_substitute: cannot duplicate pipe as fd 1" +msgstr "" + +#: subst.c:5068 +#, c-format +msgid "%s: parameter null or not set" +msgstr "%s: parametras tuščias arba nenustatytas" + +#: subst.c:5342 +#, c-format +msgid "%s: substring expression < 0" +msgstr "" + +#: subst.c:6179 +#, c-format +msgid "%s: bad substitution" +msgstr "" + +#: subst.c:6255 +#, c-format +msgid "$%s: cannot assign in this way" +msgstr "$%s: negalima tokiu būdu priskirti" + +#: subst.c:7826 +#, c-format +msgid "no match: %s" +msgstr "nėra atitikmenų: %s" + +#: test.c:145 +msgid "argument expected" +msgstr "tikėtasi argumento" + +#: test.c:154 +#, c-format +msgid "%s: integer expression expected" +msgstr "%s: tikėtasi skaitinės išraiškos" + +#: test.c:262 +msgid "`)' expected" +msgstr "tikėtasi „)“" + +#: test.c:264 +#, c-format +msgid "`)' expected, found %s" +msgstr "tikėtasi „)“, rasta %s" + +#: test.c:279 test.c:688 test.c:691 +#, c-format +msgid "%s: unary operator expected" +msgstr "%s: tikėtasi unarinio operatoriaus" + +#: test.c:444 test.c:731 +#, c-format +msgid "%s: binary operator expected" +msgstr "%s: tikėtasi binarinio operatoriaus" + +#: test.c:806 +msgid "missing `]'" +msgstr "trūksta „]“" + +#: trap.c:200 +msgid "invalid signal number" +msgstr "netaisyklingas signalo numeris" + +#: trap.c:315 +#, c-format +msgid "run_pending_traps: bad value in trap_list[%d]: %p" +msgstr "run_pending_traps: bloga trap_list[%d] reikšmė: %p" + +#: trap.c:319 +#, c-format +msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself" +msgstr "" + +#: trap.c:355 +#, c-format +msgid "trap_handler: bad signal %d" +msgstr "trap_handler: blogas signalas %d" + +#: variables.c:334 +#, c-format +msgid "error importing function definition for `%s'" +msgstr "klaida importuojant funkcijos apibrėžimą „%s“" + +#: variables.c:711 +#, c-format +msgid "shell level (%d) too high, resetting to 1" +msgstr "" + +#: variables.c:1670 +#, fuzzy +msgid "make_local_variable: no function context at current scope" +msgstr "make_local_variable: " + +#: variables.c:2813 +msgid "all_local_variables: no function context at current scope" +msgstr "" + +#: variables.c:3030 variables.c:3039 +#, c-format +msgid "invalid character %d in exportstr for %s" +msgstr "" + +#: variables.c:3045 +#, c-format +msgid "no `=' in exportstr for %s" +msgstr "" + +#: variables.c:3472 +msgid "pop_var_context: head of shell_variables not a function context" +msgstr "" + +#: variables.c:3485 +msgid "pop_var_context: no global_variables context" +msgstr "" + +#: variables.c:3557 +msgid "pop_scope: head of shell_variables not a temporary environment scope" +msgstr "" + +#: version.c:82 +msgid "Copyright (C) 2006 Free Software Foundation, Inc.\n" +msgstr "Autorinės teisės (C) 2006 Free Software Foundation, Inc.\n" + +#: xmalloc.c:93 +#, c-format +msgid "xmalloc: cannot allocate %lu bytes (%lu bytes allocated)" +msgstr "xmalloc: nepavyko išskirti %lu baitų (%lu baitų išskirta)" + +#: xmalloc.c:95 +#, c-format +msgid "xmalloc: cannot allocate %lu bytes" +msgstr "xmalloc: nepavyko išskirti %lu baitų" + +#: xmalloc.c:115 +#, c-format +msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)" +msgstr "" + +#: xmalloc.c:117 +#, c-format +msgid "xrealloc: cannot allocate %lu bytes" +msgstr "xrealloc: nepavyko išskirti %lu baitų" + +#: xmalloc.c:151 +#, c-format +msgid "xmalloc: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)" +msgstr "" + +#: xmalloc.c:153 +#, c-format +msgid "xmalloc: %s:%d: cannot allocate %lu bytes" +msgstr "xmalloc: %s:%d: nepavyko išskirti %lu baitų" + +#: xmalloc.c:175 +#, c-format +msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)" +msgstr "" + +#: xmalloc.c:177 +#, c-format +msgid "xrealloc: %s:%d: cannot allocate %lu bytes" +msgstr "xrealloc: %s:%d: nepavyko išskirti %lu baitų" + +#: builtins.c:244 +msgid "" +"`alias' with no arguments or with the -p option prints the list\n" +" of aliases in the form alias NAME=VALUE on standard output.\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. Alias returns\n" +" true unless a NAME is given for which no alias has been defined." +msgstr "" + +#: builtins.c:257 +msgid "" +"Remove NAMEs from the list of defined aliases. If the -a option is given,\n" +" then remove all alias definitions." +msgstr "" + +#: builtins.c:266 +msgid "" +"Bind a key sequence to a Readline function or a macro, or set\n" +" a Readline variable. The non-option argument syntax is equivalent\n" +" to that found in ~/.inputrc, but must be passed as a single argument:\n" +" bind '\"\\C-x\\C-r\": re-read-init-file'.\n" +" bind accepts the following 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" +" -r keyseq Remove the binding for KEYSEQ.\n" +" -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n" +" \t\t\t\tKEYSEQ is entered.\n" +" -f filename Read key bindings from FILENAME.\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" +" -V List variable names and values\n" +" -v List variable names and values in a form that can\n" +" be 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." +msgstr "" + +#: builtins.c:297 +msgid "" +"Exit from within a FOR, WHILE or UNTIL loop. If N is specified,\n" +" break N levels." +msgstr "" + +#: builtins.c:304 +msgid "" +"Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop.\n" +" If N is specified, resume at the N-th enclosing loop." +msgstr "" + +#: builtins.c:311 +msgid "" +"Run a shell builtin. This is useful when you wish to rename a\n" +" shell builtin to be a function, but need the functionality of the\n" +" builtin within the function itself." +msgstr "" + +#: builtins.c:320 +msgid "" +"Returns the context of the current subroutine call.\n" +" \n" +" Without EXPR, returns \"$line $filename\". With EXPR,\n" +" returns \"$line $subroutine $filename\"; this extra information\n" +" can be used to 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.c:334 +msgid "" +"Change the current directory to DIR. The variable $HOME is the\n" +" default DIR. The variable CDPATH defines the search path for\n" +" the directory containing DIR. Alternative directory names in CDPATH\n" +" are separated by a colon (:). A null directory name is the same as\n" +" the current directory, i.e. `.'. If DIR begins with a slash (/),\n" +" then CDPATH is not used. If the directory is not found, and the\n" +" shell option `cdable_vars' is set, then try the word as a variable\n" +" name. If that variable has a value, then cd to the value of that\n" +" variable. The -P option says to use the physical directory structure\n" +" instead of following symbolic links; the -L option forces symbolic links\n" +" to be followed." +msgstr "" + +#: builtins.c:350 +msgid "" +"Print the current working directory. With the -P option, pwd prints\n" +" the physical directory, without any symbolic links; the -L option\n" +" makes pwd follow symbolic links." +msgstr "" + +#: builtins.c:358 +msgid "No effect; the command does nothing. A zero exit code is returned." +msgstr "" + +#: builtins.c:364 +msgid "Return a successful result." +msgstr "" + +#: builtins.c:370 +msgid "Return an unsuccessful result." +msgstr "" + +#: builtins.c:376 +msgid "" +"Runs COMMAND with ARGS ignoring shell functions. If you have a shell\n" +" function called `ls', and you wish to call the command `ls', you can\n" +" say \"command ls\". If the -p option is given, a default value is used\n" +" for PATH that is guaranteed to find all of the standard utilities. If\n" +" the -V or -v option is given, a string is printed describing COMMAND.\n" +" The -V option produces a more verbose description." +msgstr "" + +#: builtins.c:387 +msgid "" +"Declare variables and/or give them attributes. If no NAMEs are\n" +" given, then display the values of variables instead. The -p option\n" +" will display the attributes and values of each NAME.\n" +" \n" +" The flags are:\n" +" \n" +" -a\tto make NAMEs arrays (if supported)\n" +" -f\tto select from among function names only\n" +" -F\tto display function names (and line number and source file name if\n" +" \tdebugging) without definitions\n" +" -i\tto make NAMEs have the `integer' attribute\n" +" -r\tto make NAMEs readonly\n" +" -t\tto make NAMEs have the `trace' attribute\n" +" -x\tto make NAMEs export\n" +" \n" +" Variables with the integer attribute have arithmetic evaluation (see\n" +" `let') done when the variable is assigned to.\n" +" \n" +" When displaying values of variables, -f displays a function's name\n" +" and definition. The -F option restricts the display to function\n" +" name only.\n" +" \n" +" Using `+' instead of `-' turns off the given attribute instead. When\n" +" used in a function, makes NAMEs local, as with the `local' command." +msgstr "" + +#: builtins.c:416 +msgid "Obsolete. See `declare'." +msgstr "" + +#: builtins.c:422 +msgid "" +"Create a local variable called NAME, and give it VALUE. LOCAL\n" +" can only be used within a function; it makes the variable NAME\n" +" have a visible scope restricted to that function and its children." +msgstr "" + +#: builtins.c:431 +msgid "" +"Output the ARGs. If -n is specified, the trailing newline is\n" +" suppressed. If the -e option is given, interpretation of the\n" +" following backslash-escaped characters is turned on:\n" +" \t\\a\talert (bell)\n" +" \t\\b\tbackspace\n" +" \t\\c\tsuppress trailing newline\n" +" \t\\E\tescape character\n" +" \t\\f\tform feed\n" +" \t\\n\tnew line\n" +" \t\\r\tcarriage return\n" +" \t\\t\thorizontal tab\n" +" \t\\v\tvertical tab\n" +" \t\\\\\tbackslash\n" +" \t\\0nnn\tthe character whose ASCII code is NNN (octal). NNN can be\n" +" \t\t0 to 3 octal digits\n" +" \n" +" You can explicitly turn off the interpretation of the above characters\n" +" with the -E option." +msgstr "" + +#: builtins.c:456 +msgid "Output the ARGs. If -n is specified, the trailing newline is suppressed." +msgstr "" + +#: builtins.c:463 +msgid "" +"Enable and disable builtin shell commands. This allows\n" +" you to use a disk command which has the same name as a shell\n" +" builtin without specifying a full pathname. If -n is used, the\n" +" NAMEs become disabled; otherwise NAMEs are enabled. For example,\n" +" to use the `test' found in $PATH instead of the shell builtin\n" +" version, type `enable -n test'. On systems supporting dynamic\n" +" loading, the -f option may be used to load new builtins from the\n" +" shared object FILENAME. The -d option will delete a builtin\n" +" previously loaded with -f. If no non-option names are given, or\n" +" the -p option is supplied, a list of builtins is printed. The\n" +" -a option means to print every builtin with an indication of whether\n" +" or not it is enabled. The -s option restricts the output to the POSIX.2\n" +" `special' builtins. The -n option displays a list of all disabled builtins." +msgstr "" + +#: builtins.c:481 +msgid "Read ARGs as input to the shell and execute the resulting command(s)." +msgstr "" + +#: builtins.c:487 +msgid "" +"Getopts is used by shell procedures to parse positional parameters.\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." +msgstr "" + +#: builtins.c:522 +msgid "" +"Exec FILE, replacing this shell with the specified program.\n" +" If FILE is not specified, the redirections take effect in this\n" +" shell. If the first argument is `-l', then place a dash in the\n" +" zeroth arg passed to FILE, as login does. If the `-c' option\n" +" is supplied, FILE is executed with a null environment. The `-a'\n" +" option means to make set argv[0] of the executed process to NAME.\n" +" If the file cannot be executed and the shell is not interactive,\n" +" then the shell exits, unless the shell option `execfail' is set." +msgstr "" + +#: builtins.c:535 +msgid "" +"Exit the shell with a status of N. If N is omitted, the exit status\n" +" is that of the last command executed." +msgstr "" + +#: builtins.c:542 +msgid "Logout of a login shell." +msgstr "" + +#: builtins.c:549 +msgid "" +"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" +" -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,\n" +" then vi.\n" +" \n" +" -l means list lines instead of editing.\n" +" -n means no line numbers listed.\n" +" -r means reverse the order of the lines (making it newest listed first).\n" +" \n" +" With the `fc -s [pat=rep ...] [command]' format, the 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." +msgstr "" + +#: builtins.c:574 +msgid "" +"Place JOB_SPEC in the foreground, and make it the current job. If\n" +" JOB_SPEC is not present, the shell's notion of the current job is\n" +" used." +msgstr "" + +#: builtins.c:584 +msgid "" +"Place each JOB_SPEC in the background, as if it had been started with\n" +" `&'. If JOB_SPEC is not present, the shell's notion of the current\n" +" job is used." +msgstr "" + +#: builtins.c:593 +msgid "" +"For each NAME, the full pathname of the command is determined and\n" +" remembered. If the -p option is supplied, PATHNAME is used as the\n" +" full pathname of NAME, and no path search is performed. The -r\n" +" option causes the shell to forget all remembered locations. The -d\n" +" option causes the shell to forget the remembered location of each NAME.\n" +" If the -t option is supplied the full pathname to which each NAME\n" +" corresponds is printed. If multiple NAME arguments are supplied with\n" +" -t, the NAME is printed before the hashed full pathname. The -l option\n" +" causes output to be displayed in a format that may be reused as input.\n" +" If no arguments are given, information about remembered commands is displayed." +msgstr "" + +#: builtins.c:609 +msgid "" +"Display helpful information about builtin commands. If PATTERN is\n" +" specified, gives detailed help on all commands matching PATTERN,\n" +" otherwise a list of the builtins is printed. The -s option\n" +" restricts the output for each builtin command matching PATTERN to\n" +" a short usage synopsis." +msgstr "" + +#: builtins.c:621 +msgid "" +"Display the history list with line numbers. Lines listed with\n" +" with a `*' have been modified. Argument of N says to list only\n" +" the last N lines. The `-c' option causes the history list to be\n" +" cleared by deleting all of the entries. The `-d' option deletes\n" +" the history entry at offset OFFSET. The `-w' option writes out the\n" +" current history to the history file; `-r' means to read the file and\n" +" append the contents to the history list instead. `-a' means\n" +" to append history lines from this session to the history file.\n" +" Argument `-n' means to read all history lines not already read\n" +" from the history file and append them to the history list.\n" +" \n" +" If FILENAME is given, then that is used as the history file else\n" +" if $HISTFILE has a value, that is used, else ~/.bash_history.\n" +" If the -s option is supplied, the non-option ARGs are appended to\n" +" the history list as a single entry. The -p option means to perform\n" +" history expansion on each ARG and display the result, without storing\n" +" anything in the history list.\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." +msgstr "" + +#: builtins.c:649 +msgid "" +"Lists the active jobs. The -l option lists process id's in addition\n" +" to the normal information; the -p option lists process id's only.\n" +" If -n is given, only processes that have changed status since the last\n" +" notification are printed. JOBSPEC restricts output to that job. The\n" +" -r and -s options restrict output to running and stopped jobs only,\n" +" respectively. Without options, the status of all active jobs is\n" +" printed. If -x is given, COMMAND is run after all job specifications\n" +" that appear in ARGS have been replaced with the process ID of that job's\n" +" process group leader." +msgstr "" + +#: builtins.c:665 +msgid "" +"By default, removes each JOBSPEC argument from the table of active jobs.\n" +" If the -h option is given, the job is not removed from the table, but is\n" +" marked so that SIGHUP is not sent to the job if the shell receives a\n" +" SIGHUP. The -a option, when JOBSPEC is not supplied, means to remove all\n" +" jobs from the job table; the -r option means to remove only running jobs." +msgstr "" + +#: builtins.c:676 +msgid "" +"Send the processes named by PID (or JOBSPEC) the signal SIGSPEC. If\n" +" SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l'\n" +" lists the signal names; if arguments follow `-l' they are assumed to\n" +" be signal numbers for which names should be listed. Kill is a shell\n" +" builtin for two reasons: it allows job IDs to be used instead of\n" +" process IDs, and, if you have reached the limit on processes that\n" +" you can create, you don't have to start a process to kill another one." +msgstr "" + +#: builtins.c:688 +msgid "" +"Each ARG is an arithmetic expression to be evaluated. Evaluation\n" +" is done in fixed-width integers with no check for overflow, though\n" +" division by 0 is trapped and flagged as an error. The following\n" +" list of operators is grouped into levels of equal-precedence operators.\n" +" The levels are listed 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" +" If the last ARG evaluates to 0, let returns 1; 0 is returned\n" +" otherwise." +msgstr "" + +#: builtins.c:731 +msgid "" +"One line is read from the standard input, or from file descriptor FD if the\n" +" -u option is supplied, and the first word is assigned to the first NAME,\n" +" the second word to the second NAME, and so on, with leftover words assigned\n" +" to the last NAME. Only the characters found in $IFS are recognized as word\n" +" delimiters. If no NAMEs are supplied, the line read is stored in the REPLY\n" +" variable. If the -r option is given, this signifies `raw' input, and\n" +" backslash escaping is disabled. The -d option causes read to continue\n" +" until the first character of DELIM is read, rather than newline. If the -p\n" +" option is supplied, the string PROMPT is output without a trailing newline\n" +" before attempting to read. If -a is supplied, the words read are assigned\n" +" to sequential indices of ARRAY, starting at zero. If -e is supplied and\n" +" the shell is interactive, readline is used to obtain the line. If -n is\n" +" supplied with a non-zero NCHARS argument, read returns after NCHARS\n" +" characters have been read. The -s option causes input coming from a\n" +" terminal to not be echoed.\n" +" \n" +" The -t option causes read to time out and return failure if a complete line\n" +" of input is not read within TIMEOUT seconds. If the TMOUT variable is set,\n" +" its value is the default timeout. The return code is zero, unless end-of-file\n" +" is encountered, read times out, or an invalid file descriptor is supplied as\n" +" the argument to -u." +msgstr "" + +#: builtins.c:757 +msgid "" +"Causes a function to exit with the return value specified by N. If N\n" +" is omitted, the return status is that of the last command." +msgstr "" + +#: builtins.c:764 +msgid "" +" -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 1003.2 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." +msgstr "" + +#: builtins.c:837 +msgid "" +"For each NAME, remove the corresponding variable or function. Given\n" +" the `-v', unset will only act on variables. Given the `-f' flag,\n" +" unset will only act on functions. With neither flag, unset first\n" +" tries to unset a variable, and if that fails, then tries to unset a\n" +" function. Some variables cannot be unset; also see readonly." +msgstr "" + +#: builtins.c:847 +msgid "" +"NAMEs are marked for automatic export to the environment of\n" +" subsequently executed commands. If the -f option is given,\n" +" the NAMEs refer to functions. If no NAMEs are given, or if `-p'\n" +" is given, a list of all names that are exported in this shell is\n" +" printed. An argument of `-n' says to remove the export property\n" +" from subsequent NAMEs. An argument of `--' disables further option\n" +" processing." +msgstr "" + +#: builtins.c:859 +msgid "" +"The given NAMEs are marked readonly and the values of these NAMEs may\n" +" not be changed by subsequent assignment. If the -f option is given,\n" +" then functions corresponding to the NAMEs are so marked. If no\n" +" arguments are given, or if `-p' is given, a list of all readonly names\n" +" is printed. The `-a' option means to treat each NAME as\n" +" an array variable. An argument of `--' disables further option\n" +" processing." +msgstr "" + +#: builtins.c:871 +msgid "" +"The positional parameters from $N+1 ... are renamed to $1 ... If N is\n" +" not given, it is assumed to be 1." +msgstr "" + +#: builtins.c:878 builtins.c:887 +msgid "" +"Read and execute commands from FILENAME and return. The pathnames\n" +" in $PATH are used to find the directory containing FILENAME. If any\n" +" ARGUMENTS are supplied, they become the positional parameters when\n" +" FILENAME is executed." +msgstr "" + +#: builtins.c:897 +msgid "" +"Suspend the execution of this shell until it receives a SIGCONT\n" +" signal. The `-f' if specified says not to complain about this\n" +" being a login shell if it is; just suspend anyway." +msgstr "" + +#: builtins.c:906 +msgid "" +"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." +msgstr "" + +#: builtins.c:976 +msgid "" +"This is a synonym for the \"test\" builtin, but the last\n" +" argument must be a literal `]', to match the opening `['." +msgstr "" + +#: builtins.c:983 +msgid "" +"Print the accumulated user and system times for processes run from\n" +" the shell." +msgstr "" + +#: builtins.c:990 +msgid "" +"The command ARG is to be read and executed when the shell receives\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. If a SIGNAL_SPEC is EXIT (0)\n" +" the command ARG is executed on exit from the shell. If a SIGNAL_SPEC\n" +" is DEBUG, ARG is executed after every simple command. If the`-p' option\n" +" is supplied then the trap commands associated with each SIGNAL_SPEC are\n" +" displayed. If no arguments are supplied or if only `-p' is given, trap\n" +" prints the list of commands associated with each signal. Each SIGNAL_SPEC\n" +" is either a signal name in <signal.h> or a signal number. Signal names\n" +" are case insensitive and the SIG prefix is optional. `trap -l' prints\n" +" a list of signal names and their corresponding numbers. Note that a\n" +" signal can be sent to the shell with \"kill -signal $$\"." +msgstr "" + +#: builtins.c:1009 +msgid "" +"For each NAME, indicate how it would be interpreted if used as a\n" +" command name.\n" +" \n" +" If the -t option is used, `type' outputs a single word which is one of\n" +" `alias', `keyword', `function', `builtin', `file' or `', if NAME is an\n" +" alias, shell reserved word, shell function, shell builtin, disk file,\n" +" or unfound, respectively.\n" +" \n" +" If the -p flag is used, `type' either returns the name of the disk\n" +" file that would be executed, or nothing if `type -t NAME' would not\n" +" return `file'.\n" +" \n" +" If the -a flag is used, `type' displays all of the places that contain\n" +" an executable named `file'. This includes aliases, builtins, and\n" +" functions, if and only if the -p flag is not also used.\n" +" \n" +" The -f flag suppresses shell function lookup.\n" +" \n" +" The -P flag forces a PATH search for each NAME, even if it is an alias,\n" +" builtin, or function, and returns the name of the disk file that would\n" +" be executed." +msgstr "" + +#: builtins.c:1036 +msgid "" +"Ulimit provides control over the resources available to processes\n" +" started by the shell, on systems that allow such control. If an\n" +" option is given, it is interpreted as follows:\n" +" \n" +" -S\tuse the `soft' resource limit\n" +" -H\tuse the `hard' resource limit\n" +" -a\tall current limits are reported\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;\n" +" the special LIMIT values `soft', `hard', and `unlimited' stand for\n" +" the current soft limit, the current hard limit, and no limit, respectively.\n" +" Otherwise, the current value of the specified resource is printed.\n" +" If no option is given, then -f is assumed. Values are in 1024-byte\n" +" increments, except for -t, which is in seconds, -p, which is in\n" +" increments of 512 bytes, and -u, which is an unscaled number of\n" +" processes." +msgstr "" + +#: builtins.c:1074 +msgid "" +"The user file-creation mask is set to MODE. If MODE is omitted, or if\n" +" `-S' is supplied, the current value of the mask is printed. The `-S'\n" +" option makes the output symbolic; otherwise an octal number is output.\n" +" If `-p' is supplied, and MODE is omitted, the output is in a form\n" +" that may be used as input. If MODE begins with a digit, it is\n" +" interpreted as an octal number, otherwise it is a symbolic mode string\n" +" like that accepted by chmod(1)." +msgstr "" + +#: builtins.c:1087 +msgid "" +"Wait for the specified process and report its termination status. If\n" +" N is not given, all currently active child processes are waited for,\n" +" and the return code is zero. N may be a process ID or a job\n" +" specification; if a job spec is given, all processes in the job's\n" +" pipeline are waited for." +msgstr "" + +#: builtins.c:1099 +msgid "" +"Wait for the specified process and report its termination status. If\n" +" N is not given, all currently active child processes are waited for,\n" +" and the return code is zero. N is a process ID; if it is not given,\n" +" all child processes of the shell are waited for." +msgstr "" + +#: builtins.c:1109 +msgid "" +"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." +msgstr "" + +#: builtins.c:1118 +msgid "" +"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." +msgstr "" + +#: builtins.c:1131 +msgid "" +"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." +msgstr "" + +#: builtins.c:1147 +msgid "" +"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" +" The return status is the return status of PIPELINE. The `-p' option\n" +" prints the timing summary in a slightly different format. This uses\n" +" the value of the TIMEFORMAT variable as the output format." +msgstr "" + +#: builtins.c:1157 +msgid "" +"Selectively execute COMMANDS based upon WORD matching PATTERN. The\n" +" `|' is used to separate multiple patterns." +msgstr "" + +#: builtins.c:1164 +msgid "" +"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." +msgstr "" + +#: builtins.c:1176 +msgid "" +"Expand and execute COMMANDS as long as the final command in the\n" +" `while' COMMANDS has an exit status of zero." +msgstr "" + +#: builtins.c:1183 +msgid "" +"Expand and execute COMMANDS as long as the final command in the\n" +" `until' COMMANDS has an exit status which is not zero." +msgstr "" + +#: builtins.c:1190 +msgid "" +"Create a simple command invoked by NAME which runs COMMANDS.\n" +" Arguments on the command line along with NAME are passed to the\n" +" function as $0 .. $n." +msgstr "" + +#: builtins.c:1198 +msgid "" +"Run a set of commands in a group. This is one way to redirect an\n" +" entire set of commands." +msgstr "" + +#: builtins.c:1205 +msgid "" +"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'." +msgstr "" + +#: builtins.c:1215 +msgid "" +"The EXPRESSION is evaluated according to the rules for arithmetic\n" +" evaluation. Equivalent to \"let EXPRESSION\"." +msgstr "" + +#: builtins.c:1222 +msgid "" +"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" +" \t( EXPRESSION )\tReturns the value of EXPRESSION\n" +" \t! EXPRESSION\tTrue if EXPRESSION is false; else false\n" +" \tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false\n" +" \tEXPR1 || 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 the\n" +" operator is used as a pattern and pattern matching is performed. The\n" +" && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to\n" +" determine the expression's value." +msgstr "" + +#: builtins.c:1240 +msgid "" +"BASH_VERSION\tVersion information for this Bash.\n" +" CDPATH\tA colon-separated list of directories to search\n" +" \t\tfor directries 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 "" + +#: builtins.c:1295 +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" +" +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" +" -n\tsuppress the normal change of directory when adding directories\n" +" \tto the stack, so only the stack is manipulated.\n" +" \n" +" dir\tadds DIR to the directory stack at the top, making it the\n" +" \tnew current working directory.\n" +" \n" +" You can see the directory stack with the `dirs' command." +msgstr "" + +#: builtins.c:1321 +msgid "" +"Removes entries from the directory stack. With no arguments,\n" +" removes the top directory from the stack, and cd's to the new\n" +" top directory.\n" +" \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" +" -n\tsuppress the normal change of directory when removing directories\n" +" \tfrom the stack, so only the stack is manipulated.\n" +" \n" +" You can see the directory stack with the `dirs' command." +msgstr "" + +#: builtins.c:1344 +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" +" The -l flag specifies that `dirs' should not print shorthand versions\n" +" of directories which are relative to your home directory. This means\n" +" that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag\n" +" causes `dirs' to print the directory stack with one entry per line,\n" +" prepending the directory name with its position in the stack. The -p\n" +" flag does the same thing, but the stack position is not prepended.\n" +" The -c flag clears the directory stack by deleting all of the elements.\n" +" \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 "" + +#: builtins.c:1367 +msgid "" +"Toggle the values of variables controlling optional behavior.\n" +" The -s flag means to enable (set) each OPTNAME; the -u flag\n" +" unsets each OPTNAME. The -q flag suppresses output; the exit\n" +" status indicates whether each OPTNAME is set or unset. The -o\n" +" option restricts the OPTNAMEs to those defined for use with\n" +" `set -o'. With no options, or with the -p option, a list of all\n" +" settable options is displayed, with an indication of whether or\n" +" not each is set." +msgstr "" + +#: builtins.c:1380 +msgid "" +"printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT\n" +" 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. In addition to the standard printf(1) formats, %b means to\n" +" expand backslash escape sequences in the corresponding argument, and %q\n" +" means to quote the argument in a way that can be reused as shell input.\n" +" If the -v option is supplied, the output is placed into the value of the\n" +" shell variable VAR rather than being sent to the standard output." +msgstr "" + +#: builtins.c:1396 +msgid "" +"For each NAME, specify how arguments are to be completed.\n" +" If the -p option is supplied, or if no options are supplied, existing\n" +" completion specifications are printed in a way that allows them to be\n" +" reused as input. The -r option removes a completion specification for\n" +" each NAME, or, if no NAMEs are supplied, all completion specifications." +msgstr "" + +#: builtins.c:1408 +msgid "" +"Display the possible completions depending on the options. Intended\n" +" to be used from within a shell function generating possible completions.\n" +" If the optional WORD argument is supplied, matches against WORD are\n" +" generated." +msgstr "" @@ -71,6 +71,10 @@ # include <readline/history.h> #endif +#if defined (READLINE) +# include "bashline.h" +#endif + #include <tilde/tilde.h> #include <glob/strmatch.h> @@ -1740,6 +1744,12 @@ shell_reinitialize () delete_all_contexts (shell_variables); delete_all_variables (shell_functions); + reinit_special_variables (); + +#if defined (READLINE) + bashline_reset (); +#endif + shell_reinitialized = 1; } @@ -71,6 +71,10 @@ # include <readline/history.h> #endif +#if defined (READLINE) +# include "bashline.h" +#endif + #include <tilde/tilde.h> #include <glob/strmatch.h> @@ -185,9 +189,6 @@ int have_devfd = HAVE_DEV_FD; int have_devfd = 0; #endif -/* If == 31, shell compatible with bash-3.1, = =32 with bash-3.2, and so on */ -int shell_compatibility_level = DEFAULT_COMPAT_LEVEL; - /* The name of the .(shell)rc file. */ static char *bashrc_file = "~/.bashrc"; @@ -1743,6 +1744,12 @@ shell_reinitialize () delete_all_contexts (shell_variables); delete_all_variables (shell_functions); + reinit_special_variables (); + +#if defined (READLINE) + bash_readline_initialized = 0; +#endif + shell_reinitialized = 1; } @@ -7581,6 +7581,11 @@ string_quote_removal (string, quoted) { case '\\': c = string[++sindex]; + if (c == 0) + { + *r++ = '\\'; + break; + } if (((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || dquote) && (sh_syntaxtab[c] & CBSDQUOTE) == 0) *r++ = '\\'; /* FALLTHROUGH */ diff --git a/support/checkbashisms b/support/checkbashisms new file mode 100755 index 00000000..acd93a9a --- /dev/null +++ b/support/checkbashisms @@ -0,0 +1,172 @@ +#! /usr/bin/perl -w + +# This script is essentially copied from /usr/share/lintian/checks/scripts, +# which is: +# Copyright (C) 1998 Richard Braakman +# Copyright (C) 2002 Josip Rodin +# This version is +# Copyright (C) 2003 Julian Gilbey +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +# MA 02111-1307, USA. + +use strict; + +(my $progname = $0) =~ s|.*/||; + +my $usage = <<"EOF"; +Usage: $progname [-n] script ... + or: $progname --help + or: $progname --version +This script performs basic checks for the presence of bashisms +in /bin/sh scripts. +EOF + +my $version = <<"EOF"; +This is $progname, from the Debian devscripts package, version 2.10.7ubuntu5 +This code is copyright 2003 by Julian Gilbey <jdg\@debian.org>, +based on original code which is copyright 1998 by Richard Braakman +and copyright 2002 by Josip Rodin. +This program comes with ABSOLUTELY NO WARRANTY. +You are free to redistribute this code under the terms of the +GNU General Public License, version 2, or (at your option) any later version. +EOF + +my $opt_echo = 0; + +## +## handle command-line options +## +if (int(@ARGV) == 0 or $ARGV[0] =~ /^(--help|-h)$/) { print $usage; exit 0; } +if (@ARGV and $ARGV[0] =~ /^(--version|-v)$/) { print $version; exit 0; } +if (@ARGV and $ARGV[0] =~ /^(--newline|-n)$/) { $opt_echo = 1; } + + +my $status = 0; + +foreach my $filename (@ARGV) { + if ($filename eq '-n' or $filename eq '--newline') { + next; + } + unless (open C, "$filename") { + warn "cannot open script $filename for reading: $!\n"; + $status |= 2; + next; + } + + my $cat_string = ""; + + while (<C>) { + if ($. == 1) { # This should be an interpreter line + if (m,^\#!\s*(\S+),) { + my $interpreter = $1; + if ($interpreter =~ m,/bash$,) { + warn "script $filename is already a bash script; skipping\n"; + $status |= 2; + last; # end this file + } + elsif ($interpreter !~ m,/(sh|ash|dash)$,) { + warn "script $filename does not appear to be a /bin/sh script; skipping\n"; + $status |= 2; + last; + } + } else { + warn "script $filename does not appear to have a \#! interpreter line;\nyou may get strange results\n"; + } + } + + next if m,^\s*\#,; # skip comment lines + chomp; + my $orig_line = $_; + + s/(?<!\\)\#.*$//; # eat comments + + if (m/(?:^|\s+)cat\s*\<\<\s*(\w+)/) { + $cat_string = $1; + } + elsif ($cat_string ne "" and m/^$cat_string/) { + $cat_string = ""; + } + my $within_another_shell = 0; + if (m,(^|\s+)((/usr)?/bin/)?((b|d)?a|k|z|t?c)sh\s+-c\s*.+,) { + $within_another_shell = 1; + } + # if cat_string is set, we are in a HERE document and need not + # check for things + if ($cat_string eq "" and !$within_another_shell) { + my $found = 0; + my $match = ''; + my $explanation = ''; + my %bashisms = ( + '(?:^|\s+)function\s+\w+' => q<'function' is useless>, + '(?:^|\s+)select\s+\w+' => q<'select' is not POSIX>, + '(?:^|\s+)source\s+(?:\.\/|\/|\$)[^\s]+' => + q<should be '.', not 'source'>, + '(\[|test|-o|-a)\s*[^\s]+\s+==\s' => + q<should be 'b = a'>, + '\s\|\&' => q<pipelining is not POSIX>, + '\$\[\w+\]' => q<arithmetic not allowed>, + '\$\{\w+\:\d+(?::\d+)?\}' => q<${foo:3[:1]}>, + '\$\{!\w+[@*]\}' => q<${!prefix[*|@]>, + '\$\{!\w+\}' => q<${!name}>, + '\$\{\w+(/.+?){1,2}\}' => q<${parm/?/pat[/str]}>, + '[^\\\]\{([^\s]+?,)+[^\\\}\s]+\}' => + q<brace expansion>, + '(?:^|\s+)\w+\[\d+\]=' => q<bash arrays, H[0]>, + '\$\{\#?\w+\[[0-9\*\@]+\]\}' => q<bash arrays, ${name[0|*|@]}>, + '(?:^|\s+)(read\s*(?:;|$))' => q<read without variable>, + '\$\(\([A-Za-z]' => q<cnt=$((cnt + 1)) does not work in dash>, + 'echo\s+-[e]' => q<echo -e>, + 'exec\s+-[acl]' => q<exec -c/-l/-a name>, + '\blet\s' => q<let ...>, + '\$RANDOM\b' => q<$RANDOM>, + '(?<!\$)\(\(' => q<'((' should be '$(('>, + ); + + if ($opt_echo) { + $bashisms{'echo\s+-[n]'} = 'q<echo -n>'; + } + + while (my ($re,$expl) = each %bashisms) { + if (m/($re)/) { + $found = 1; + $match = $1; + $explanation = $expl; + last; + } + } + # since this test is ugly, I have to do it by itself + # detect source (.) trying to pass args to the command it runs + if (not $found and m/^\s*(\.\s+[^\s]+\s+([^\s]+))/) { + if ($2 eq '&&' || $2 eq '||') { + # everything is ok + ; + } else { + $found = 1; + $match = $1; + } + } + unless ($found == 0) { + warn "possible bashism in $filename line $. ($explanation):\n$orig_line\n"; + $status |= 1; + } + } + } + + close C; +} + +exit $status; diff --git a/tests/RUN-ONE-TEST b/tests/RUN-ONE-TEST index 72ec06a2..3efcf32d 100755 --- a/tests/RUN-ONE-TEST +++ b/tests/RUN-ONE-TEST @@ -1,4 +1,4 @@ -BUILD_DIR=/usr/local/build/bash/bash-current +BUILD_DIR=/usr/local/build/chet/bash/bash-current THIS_SH=$BUILD_DIR/bash PATH=$PATH:$BUILD_DIR diff --git a/variables.c b/variables.c index 0c4226a5..b04b1f8e 100644 --- a/variables.c +++ b/variables.c @@ -1366,6 +1366,7 @@ get_comp_wordbreaks (var) if (rl_completer_word_break_characters == 0 && bash_readline_initialized == 0) enable_hostname_completion (perform_hostname_completion); +itrace("get: rl_completer_word_break_characters = `%s'", rl_completer_word_break_characters); var_setvalue (var, rl_completer_word_break_characters); return (var); @@ -1384,6 +1385,7 @@ assign_comp_wordbreaks (self, value, unused) free (rl_completer_word_break_characters); rl_completer_word_break_characters = savestring (value); +itrace("assign: rl_completer_word_break_characters = `%s'", rl_completer_word_break_characters); return self; } #endif /* READLINE */ @@ -3924,6 +3926,18 @@ stupidly_hack_special_variables (name) (*(special_vars[i].function)) (name); } +/* Special variables that need hooks to be run when they are unset as part + of shell reinitialization should have their sv_ functions run here. */ +void +reinit_special_variables () +{ +#if defined (READLINE) + sv_comp_wordbreaks ("COMP_WORDBREAKS"); +#endif + sv_globignore ("GLOBIGNORE"); + sv_opterr ("OPTERR"); +} + void sv_ifs (name) char *name; diff --git a/variables.c~ b/variables.c~ index 79004210..5163c76d 100644 --- a/variables.c~ +++ b/variables.c~ @@ -362,8 +362,6 @@ initialize_shell_variables (env, privmode) VSETATTR (temp_var, (att_exported | att_imported)); array_needs_making = 1; } -else - internal_error (_("`%s': not a valid identifier"), name); name[char_index] = '='; /* temp_var can be NULL if it was an exported function with a syntax @@ -1368,6 +1366,7 @@ get_comp_wordbreaks (var) if (rl_completer_word_break_characters == 0 && bash_readline_initialized == 0) enable_hostname_completion (perform_hostname_completion); +itrace("get: rl_completer_word_break_characters = `%s'", rl_completer_word_break_characters); var_setvalue (var, rl_completer_word_break_characters); return (var); @@ -1386,6 +1385,7 @@ assign_comp_wordbreaks (self, value, unused) free (rl_completer_word_break_characters); rl_completer_word_break_characters = savestring (value); +itrace("assign: rl_completer_word_break_characters = `%s'", rl_completer_word_break_characters); return self; } #endif /* READLINE */ diff --git a/variables.h b/variables.h index cc621740..9e5ab162 100644 --- a/variables.h +++ b/variables.h @@ -325,6 +325,10 @@ extern void set_pipestatus_from_exit __P((int)); is one of the special ones where something special happens. */ extern void stupidly_hack_special_variables __P((char *)); +/* Reinitialize some special variables that have external effects upon unset + when the shell reinitializes itself. */ +extern void reinit_special_variables __P((void)); + extern int get_random_number __P((void)); /* The `special variable' functions that get called when a particular diff --git a/variables.h~ b/variables.h~ index 1ce9cea9..cc621740 100644 --- a/variables.h~ +++ b/variables.h~ @@ -109,7 +109,7 @@ typedef struct _vlist { #define att_assoc 0x0000040 /* variable is an associative array */ #define att_trace 0x0000080 /* function is traced with DEBUG trap */ -#define user_attrs (att_exported|att_readonly|att_array|att_integer|att_local|att_assoc|att_trace) +#define user_attrs (att_exported|att_readonly|att_integer|att_local|att_trace) #define attmask_user 0x0000fff |