diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog index bc80844c..7fdc3f13 100644 --- a/CWRU/CWRU.chlog +++ b/CWRU/CWRU.chlog @@ -10176,3 +10176,109 @@ lib/readline/isearch.c - _rl_isearch_dispatch: after removing the only character from the search string with DEL, leaving the search string empty, don't match the previous line if we didn't have a match before + + 12/22 + ----- +bashhist.c + - enable_history_list,remember_on_history: initialize to 0 instead of 1 + +shell.c + - init_interactive,init_interactive_script: set enable_history_list and + remember_on_history to 1 (defaults) + + 12/23 + ----- +variables.c + - initialize_shell_variables: don't inherit PS4 from the environment + if the shell is running with euid == 0; just reset it to `+'. This + is a known potential vulnerability, since PS4 expansion performs + command substitution in the root shell's context before displaying + it. Discussion started by up201407890@alunos.dcc.fc.up.pt + +bashhist.c + - bash_history_reinit: initialize remember_on_history to the value of + enable_history_list (set -o history). Fixes bug reported by + Stephane Chazelas with command-line + option `-o history' not having any effect + + 12/28 + ----- +lib/readline/{history.h,histfile.c} + - history_file_version: new int variable, reserved for future use + - history_multiline_entries: new int variable, can be set by the + calling application to enable reading multi-line history entries + from the history file (currently undocumented) + +lib/readline/history.c + - _hs_append_history_line: new function, append a line passed as an + argument to a specified history entry, used to create multi-line + history entries + +lib/readline/histfile.c + - read_history_range: implement a heuristic that temporarily sets the + history comment character if the first line read from the history + file looks like it has is a timestamp (#[:digit:]) so we can read + timestamps from the history file properly. Originally reported + back in March 2015 by Christoph Anton Mitterer + - read_history_range: make sure history_multiline_entries is non-zero + if the history file looks like it has timestamps + - read_history_range: if we think we have a history file with timestamps + and we read more than one non-timestamp consecutive history lines, + assume they are part of a single multi-line history entry and paste + them together using _hs_append_history_line. Feature most recently + requested by james harvey , also suggested + by Christoph Anton Mitterer + +examples/loadables/setpgid.c + - setpgid: new loadable builtin, originally contributed by Jason + Vas Dias + + 12/29 + ----- +bashhist.c + - bash_history_inhibit_expansion: fix cases where a history expansion + should be skipped because it's in a command or process substitution + but there is another history expansion preceding the substitution + on the command line. Don't let the previous history expansion fool + the function into saying the command substitution history expansion + should be performed + +builtins/evalstring.c + - parse_prologue: always unwind-protect history_expansion_inhibited, + since history expansion can be enabled in non-interactive shells, + and calling eval once in a non-interactive shell inhibits history + expansion forever even if `set -o histexpand' was run before the + eval + +builtins/common.h + - SEVAL_NOHISTEXP: new flag for parse_and_execute/parse_string; means + to not perform history expansion (decouple from SEVAL_NOHIST, which + now means to not remember commands on history); changed all callers + that had SEVAL_NOHIST to have SEVAL_NOHIST|SEVAL_NOHISTEXP + +builtins/evalstring.c + - parse_prologue: instead of calling bash_history_disable, set + remember_on_history to 0 if SEVAL_NOHIST and history_expansion_inhibited + to 1 if SEVAL_NOHISTEXP + + 12/30 + ----- +subst.c + - skip_to_histexp: new function, a stripped-down version of skip_to_delim. + Used to skip to the next unquoted instance of the history expansion + character, handles peculiar quoting and command/process substitution + requirements. Better fix for bug reported by + Zigmund.Ozean@zig-home.localdomain back in January, prompted by report + from Keith Thompson + +bashhist.c + - bash_history_inhibit_expansion: use skip_to_histexp instead of + skip_to_delim + +subst.c + - parameter_brace_expand_rhs: if the rhs of an expansion is "$@" and + IFS is null, we need to separate the (quoted) positional parameters + in the returned word with a space, and mark the word as needing to + be split on spaces (W_SPLITSPACE). Fix for issues reported back in + October 2014 as the result of an austin-group discussion, and just + re-reported by Martijn Dekker diff --git a/MANIFEST b/MANIFEST index 57eb36db..39e7bd64 100644 --- a/MANIFEST +++ b/MANIFEST @@ -664,6 +664,7 @@ examples/loadables/necho.c f examples/loadables/hello.c f examples/loadables/print.c f examples/loadables/realpath.c f +examples/loadables/setpgid.c f examples/loadables/sleep.c f examples/loadables/strftime.c f examples/loadables/truefalse.c f @@ -921,6 +922,7 @@ tests/dollar-at-star3.sub f tests/dollar-at-star4.sub f tests/dollar-at-star5.sub f tests/dollar-at-star6.sub f +tests/dollar-at-star7.sub f tests/dollar-at1.sub f tests/dollar-at2.sub f tests/dollar-at3.sub f @@ -1020,6 +1022,8 @@ tests/herestr1.sub f tests/histexp.tests f tests/histexp1.sub f tests/histexp2.sub f +tests/histexp3.sub f +tests/histexp4.sub f tests/histexp.right f tests/history.tests f tests/history.right f diff --git a/bashhist.c b/bashhist.c index d0f022e3..dc26d30f 100644 --- a/bashhist.c +++ b/bashhist.c @@ -83,8 +83,8 @@ static struct ignorevar histignore = /* Non-zero means to remember lines typed to the shell on the history list. This is different than the user-controlled behaviour; this becomes zero when we read lines from a file, for example. */ -int remember_on_history = 1; -int enable_history_list = 1; /* value for `set -o history' */ +int remember_on_history = 0; +int enable_history_list = 0; /* value for `set -o history' */ /* The number of lines that Bash has added to this history session. The difference between the number of the top element in the history list @@ -99,6 +99,8 @@ int history_lines_in_file; /* Non-zero means do no history expansion on this line, regardless of what history_expansion says. */ int history_expansion_inhibited; +/* If non-zero, double quotes can quote the history expansion character. */ +int double_quotes_inhibit_history_expansion = 0; #endif /* With the old default, every line was saved in the history individually. @@ -229,8 +231,18 @@ bash_history_inhibit_expansion (string, i) /* Make sure the history expansion should not be skipped by quoting or command/process substitution. */ - else if ((t = skip_to_delim (string, 0, hx, SD_NOJMP|SD_HISTEXP)) > 0 && t > i) - return (1); + else if ((t = skip_to_histexp (string, 0, hx, SD_NOJMP|SD_HISTEXP)) > 0) + { + /* Skip instances of history expansion appearing on the line before + this one. */ + while (t < i) + { + t = skip_to_histexp (string, t+1, hx, SD_NOJMP|SD_HISTEXP); + if (t <= 0) + return 0; + } + return (t > i); + } else return (0); } @@ -252,9 +264,9 @@ bash_history_reinit (interact) { #if defined (BANG_HISTORY) history_expansion = interact != 0; - history_expansion_inhibited = 1; + history_expansion_inhibited = 1; /* XXX */ #endif - remember_on_history = enable_history_list = interact != 0; + remember_on_history = enable_history_list; history_inhibit_expansion_function = bash_history_inhibit_expansion; } @@ -270,7 +282,7 @@ bash_history_disable () void bash_history_enable () { - remember_on_history = 1; + remember_on_history = enable_history_list = 1; #if defined (BANG_HISTORY) history_expansion_inhibited = 0; #endif diff --git a/builtins/common.h b/builtins/common.h index 7ff0ca33..ed852305 100644 --- a/builtins/common.h +++ b/builtins/common.h @@ -50,6 +50,7 @@ do { \ #define SEVAL_NOLONGJMP 0x040 #define SEVAL_FUNCDEF 0x080 /* only allow function definitions */ #define SEVAL_ONECMD 0x100 /* only allow a single command */ +#define SEVAL_NOHISTEXP 0x200 /* inhibit history expansion */ /* Flags for describe_command, shared between type.def and command.def */ #define CDESC_ALL 0x001 /* type -a */ diff --git a/builtins/evalstring.c b/builtins/evalstring.c index b800da9e..f27d1b3b 100644 --- a/builtins/evalstring.c +++ b/builtins/evalstring.c @@ -168,8 +168,7 @@ parse_prologue (string, flags, tag) else unwind_protect_int (remember_on_history); /* can be used in scripts */ # if defined (BANG_HISTORY) - if (interactive_shell) - unwind_protect_int (history_expansion_inhibited); + unwind_protect_int (history_expansion_inhibited); # endif /* BANG_HISTORY */ #endif /* HISTORY */ @@ -199,6 +198,10 @@ parse_prologue (string, flags, tag) #if defined (HISTORY) if (flags & SEVAL_NOHIST) bash_history_disable (); +# if defined (BANG_HISTORY) + if (flags & SEVAL_NOHISTEXP) + history_expansion_inhibited = 1; +# endif /* BANG_HISTORY */ #endif /* HISTORY */ } @@ -211,6 +214,7 @@ parse_prologue (string, flags, tag) (flags & SEVAL_NOHIST) -> call bash_history_disable () (flags & SEVAL_NOFREE) -> don't free STRING when finished (flags & SEVAL_RESETLINE) -> reset line_number to 1 + (flags & SEVAL_NOHISTEXP) -> history_expansion_inhibited -> 1 */ int diff --git a/examples/loadables/Makefile.in b/examples/loadables/Makefile.in index 027b0d24..1fad9db2 100644 --- a/examples/loadables/Makefile.in +++ b/examples/loadables/Makefile.in @@ -102,7 +102,7 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins -I${srcdir} \ ALLPROG = print truefalse sleep finfo logname basename dirname \ tty pathchk tee head mkdir rmdir printenv id whoami \ - uname sync push ln unlink realpath strftime mypid + uname sync push ln unlink realpath strftime mypid setpgid OTHERPROG = necho hello cat pushd all: $(SHOBJ_STATUS) @@ -202,6 +202,10 @@ strftime: strftime.o mypid: mypid.o $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mypid.o $(SHOBJ_LIBS) + +setpgid: setpgid.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ setpgid.o $(SHOBJ_LIBS) + # pushd is a special case. We use the same source that the builtin version # uses, with special compilation options. # @@ -278,4 +282,4 @@ push.o: push.c mkdir.o: mkdir.c realpath.o: realpath.c strftime.o: strftime.c -mypid.o: mypid.c +setpgid.o: setpgid.c diff --git a/examples/loadables/hello.c b/examples/loadables/hello.c index fc11204b..b09362bf 100644 --- a/examples/loadables/hello.c +++ b/examples/loadables/hello.c @@ -94,4 +94,3 @@ struct builtin hello_struct = { "hello", /* usage synopsis; becomes short_doc */ 0 /* reserved for internal use */ }; - diff --git a/examples/loadables/setpgid.c b/examples/loadables/setpgid.c new file mode 100644 index 00000000..7da58f13 --- /dev/null +++ b/examples/loadables/setpgid.c @@ -0,0 +1,121 @@ +/* setpgid.c: bash loadable wrapper for setpgid system call + + An example of how to wrap a system call with a loadable builtin. + + Originally contributed by Jason Vas Dias + + 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 3 of the License, 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. If not, see . +*/ + +#include + +#if defined (HAVE_UNISTD_H) +# include +#endif +#include +#include + +#include "bashtypes.h" +#include "posixtime.h" + +#include + +#include "builtins.h" +#include "shell.h" +#include "common.h" + +#include "bashgetopt.h" + +#if !defined (_POSIX_VERSION) +# define setpgid(pid, pgrp) setpgrp (pid, pgrp) +#endif + +int +setpgid_builtin (list) + WORD_LIST *list; +{ + register WORD_LIST *wl; + intmax_t pid_arg, pgid_arg; + pid_t pid, pgid; + char *pidstr, *pgidstr; + + wl = list; + pid = pgid = 0; + + if (wl == 0 || wl->next == 0) + { + builtin_usage (); + return (EX_USAGE); + } + + pidstr = wl->word ? wl->word->word : 0; + pgidstr = wl->next->word ? wl->next->word->word : 0; + + if (pidstr == 0 || pgidstr == 0) + { + builtin_usage (); + return (EX_USAGE); + } + + if (legal_number (pidstr, &pid_arg) == 0) + { + builtin_error ("%s: pid argument must be numeric", pidstr); + return (EXECUTION_FAILURE); + } + if (pid_arg < 0) + { + builtin_error("%s: negative pid values not allowed", pidstr); + return (EXECUTION_FAILURE); + } + pid = pid_arg; + + if (legal_number (pgidstr, &pgid_arg) == 0) + { + builtin_error ("%s: pgrp argument must be numeric", pgidstr); + return (EXECUTION_FAILURE); + } + if (pgid_arg < 0) + { + builtin_error ("%s: negative pgrp values not allowed", pgidstr); + return (EXECUTION_FAILURE); + } + pgid = pgid_arg; + + errno = 0; + if (setpgid(pid, pgid) < 0) + { + builtin_error("setpgid failed: %s", strerror (errno)); + return (EXECUTION_FAILURE); + } + return (EXECUTION_SUCCESS); +} + +const char *setpgid_doc[] = { + "invoke the setpgid(2) system call", + "", + "Arguments:", + " pid : numeric process identifer, >= 0", + " pgrpid: numeric process group identifier, >=0", + "See the setpgid(2) manual page.", + (const char *)NULL +}; + +struct builtin setpgid_struct = { + "setpgid", + setpgid_builtin, + BUILTIN_ENABLED, + (char **)setpgid_doc, + "setpgid pid pgrpid", + 0 +}; diff --git a/lib/readline/display.c b/lib/readline/display.c index 2ad30fce..f261933d 100644 --- a/lib/readline/display.c +++ b/lib/readline/display.c @@ -1,6 +1,6 @@ /* display.c -- readline redisplay facility. */ -/* Copyright (C) 1987-2013 Free Software Foundation, Inc. +/* Copyright (C) 1987-2015 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. diff --git a/lib/readline/histexpand.c b/lib/readline/histexpand.c index fc133036..fdecebcb 100644 --- a/lib/readline/histexpand.c +++ b/lib/readline/histexpand.c @@ -1,6 +1,6 @@ /* histexpand.c -- history expansion. */ -/* Copyright (C) 1989-2012 Free Software Foundation, Inc. +/* Copyright (C) 1989-2015 Free Software Foundation, Inc. This file contains the GNU History Library (History), a set of routines for managing the text of previously typed lines. diff --git a/lib/readline/histfile.c b/lib/readline/histfile.c index 860653fb..30d44a8a 100644 --- a/lib/readline/histfile.c +++ b/lib/readline/histfile.c @@ -107,9 +107,19 @@ extern int errno; # define PATH_MAX 1024 /* default */ #endif +extern void _hs_append_history_line PARAMS((int, const char *)); + +/* history file version; currently unused */ +int history_file_version = 1; + /* If non-zero, we write timestamps to the history file in history_do_write() */ int history_write_timestamps = 0; +/* If non-zero, we assume that a history file that starts with a timestamp + uses timestamp-delimited entries and can include multi-line history + entries. Used by read_history_range */ +int history_multiline_entries = 0; + /* Immediately after a call to read_history() or read_history_range(), this will return the number of lines just read from the history file in that call. */ @@ -259,7 +269,7 @@ read_history_range (filename, from, to) { register char *line_start, *line_end, *p; char *input, *buffer, *bufend, *last_ts; - int file, current_line, chars_read; + int file, current_line, chars_read, has_timestamps, reset_comment_char; struct stat finfo; size_t file_size; #if defined (EFBIG) @@ -336,6 +346,19 @@ read_history_range (filename, from, to) bufend = buffer + chars_read; current_line = 0; + /* Heuristic: the history comment character rarely changes, so assume we + have timestamps if the buffer starts with `#[:digit:]' and temporarily + set history_comment_char so timestamp parsing works right */ + reset_comment_char = 0; + if (history_comment_char == '\0' && buffer[0] == '#' && isdigit ((unsigned char)buffer[1])) + { + history_comment_char = '#'; + reset_comment_char = 1; + } + + has_timestamps = HIST_TIMESTAMP_START (buffer); + history_multiline_entries += has_timestamps && history_write_timestamps; + /* Skip lines until we are at FROM. */ for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++) if (*line_end == '\n') @@ -362,7 +385,10 @@ read_history_range (filename, from, to) { if (HIST_TIMESTAMP_START(line_start) == 0) { - add_history (line_start); + if (last_ts == NULL && history_multiline_entries) + _hs_append_history_line (history_length - 1, line_start); + else + add_history (line_start); if (last_ts) { add_history_time (last_ts); @@ -385,6 +411,8 @@ read_history_range (filename, from, to) } history_lines_read_from_file = current_line; + if (reset_comment_char) + history_comment_char = '\0'; FREE (input); #ifndef HISTORY_USE_MMAP diff --git a/lib/readline/history.c b/lib/readline/history.c index 216b2a56..3b8dbc58 100644 --- a/lib/readline/history.c +++ b/lib/readline/history.c @@ -1,6 +1,6 @@ /* history.c -- standalone history library */ -/* Copyright (C) 1989-2011 Free Software Foundation, Inc. +/* Copyright (C) 1989-2015 Free Software Foundation, Inc. This file contains the GNU History Library (History), a set of routines for managing the text of previously typed lines. @@ -407,6 +407,30 @@ replace_history_entry (which, line, data) return (old_value); } +/* Append LINE to the history line at offset WHICH, adding a newline to the + end of the current line first. This can be used to construct multi-line + history entries while reading lines from the history file. */ +void +_hs_append_history_line (which, line) + int which; + const char *line; +{ + HIST_ENTRY *hent; + size_t newlen, curlen; + char *newline; + + hent = the_history[which]; + curlen = strlen (hent->line); + newlen = curlen + strlen (line) + 2; + newline = realloc (hent->line, newlen); + if (newline) + { + hent->line = newline; + hent->line[curlen++] = '\n'; + strcpy (hent->line + curlen, line); + } +} + /* Replace the DATA in the specified history entries, replacing OLD with NEW. WHICH says which one(s) to replace: WHICH == -1 means to replace all of the history entries where entry->data == OLD; WHICH == -2 means diff --git a/lib/readline/history.h b/lib/readline/history.h index b79e51f4..8ce7c805 100644 --- a/lib/readline/history.h +++ b/lib/readline/history.h @@ -1,6 +1,6 @@ /* history.h -- the names of functions that you can call in history. */ -/* Copyright (C) 1989-2009 Free Software Foundation, Inc. +/* Copyright (C) 1989-2015 Free Software Foundation, Inc. This file contains the GNU History Library (History), a set of routines for managing the text of previously typed lines. @@ -263,6 +263,10 @@ extern int history_quotes_inhibit_expansion; extern int history_write_timestamps; +/* These two are undocumented; the second is reserved for future use */ +extern int history_multiline_entries; +extern int history_file_version; + /* Backwards compatibility */ extern int max_input_history; diff --git a/lib/readline/isearch.c b/lib/readline/isearch.c index 0eb5259c..819fcbce 100644 --- a/lib/readline/isearch.c +++ b/lib/readline/isearch.c @@ -6,7 +6,7 @@ /* */ /* **************************************************************** */ -/* Copyright (C) 1987-2012 Free Software Foundation, Inc. +/* Copyright (C) 1987-2015 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. diff --git a/lib/readline/util.c b/lib/readline/util.c index aec4af5f..4589c61f 100644 --- a/lib/readline/util.c +++ b/lib/readline/util.c @@ -1,6 +1,6 @@ /* util.c -- readline utility functions */ -/* Copyright (C) 1987-2012 Free Software Foundation, Inc. +/* Copyright (C) 1987-2015 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. diff --git a/parse.y b/parse.y index 9ce5d5d3..518d7301 100644 --- a/parse.y +++ b/parse.y @@ -2369,6 +2369,8 @@ shell_getc (remove_quoted_newline) if (current_delimiter (dstack) == '\'') history_expansion_inhibited = 1; # endif + /* Calling with a third argument of 1 allows remember_on_history to + determine whether or not the line is saved to the history list */ expansions = pre_process_line (shell_input_line, 1, 1); # if defined (BANG_HISTORY) history_expansion_inhibited = old_hist; diff --git a/po/sr.po b/po/sr.po index e4db4ce3..385ea702 100644 --- a/po/sr.po +++ b/po/sr.po @@ -1,21 +1,20 @@ # Serbian translation for bash. # Copyright (C) 2014 Free Software Foundation, Inc. # This file is distributed under the same license as the bash package. -# Мирослав Николић , 2014. +# Мирослав Николић , 2014—2015. msgid "" msgstr "" -"Project-Id-Version: bash-4.3-rc2\n" +"Project-Id-Version: bash-4.4-beta1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-10-02 07:21-0400\n" -"PO-Revision-Date: 2014-02-11 10:22+0200\n" +"PO-Revision-Date: 2015-12-23 11:31+0200\n" "Last-Translator: Мирослав Николић \n" "Language-Team: Serbian <(nothing)>\n" +"Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: Serbian (sr)\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" -"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: arrayfunc.c:54 msgid "bad array subscript" @@ -290,7 +289,7 @@ msgstr "%s: нејасна одредба посла" #: builtins/common.c:916 msgid "help not available in this version" -msgstr "" +msgstr "помоћ није доступна у овом издању" #: builtins/complete.def:278 #, c-format @@ -346,7 +345,7 @@ msgstr "%s: функција само за читање" #: builtins/declare.def:620 #, c-format msgid "%s: quoted compound array assignment deprecated" -msgstr "" +msgstr "%s: додела низа цитираног споја је застарела" #: builtins/declare.def:634 #, c-format @@ -375,7 +374,7 @@ msgstr "не могу да нађем „%s“ у дељеном предмет #: builtins/enable.def:386 #, c-format msgid "load function for %s returns failure (%d): not loaded" -msgstr "" +msgstr "функција учитавања за „%s“ није успела (%d): није учитано" #: builtins/enable.def:511 #, c-format @@ -487,11 +486,8 @@ msgstr[2] "Наредбе шкољке које одговарају кључн #: builtins/help.def:186 #, c-format -msgid "" -"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'." -msgstr "" -"нема тема помоћи које одговарају „%s“. Покушајте „help help“ или „man -k %" -"s“ или „info %s“." +msgid "no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'." +msgstr "нема тема помоћи које одговарају „%s“. Покушајте „help help“ или „man -k %s“ или „info %s“." #: builtins/help.def:225 #, c-format @@ -660,12 +656,10 @@ msgid "" " \twith its position in the stack\n" " \n" " Arguments:\n" -" +N\tDisplays the Nth entry counting from the left of the list shown " -"by\n" +" +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" +" -N\tDisplays the Nth entry counting from the right of the list shown by\n" "\tdirs when invoked without options, starting with zero." msgstr "" "Приказује списак тренутно запамћених директоријума. Директоријуми\n" @@ -758,8 +752,7 @@ msgstr "" " \n" " Опције:\n" " -n\tПотискује нормалну замену директоријума приликом уклањања\n" -" \t директоријума из спремника, тако да се ради само са " -"спремником.\n" +" \t директоријума из спремника, тако да се ради само са спремником.\n" " \n" " Аргументи:\n" " +N\tУклања н-ти унос бројећи с лева на списку кога приказује\n" @@ -811,9 +804,9 @@ msgid "%s: not a function" msgstr "%s: није функција" #: builtins/setattr.def:193 -#, fuzzy, c-format +#, c-format msgid "%s: cannot export" -msgstr "%s: не могу да расподесим" +msgstr "%s: не могу да извезем" #: builtins/shift.def:73 builtins/shift.def:79 msgid "shift count" @@ -861,9 +854,9 @@ msgid "%s is a function\n" msgstr "%s: је функција\n" #: builtins/type.def:299 -#, fuzzy, c-format +#, c-format msgid "%s is a special shell builtin\n" -msgstr "%s: јесте уграђеност шкољке\n" +msgstr "%s: је нарочита уграђеност шкољке\n" #: builtins/type.def:301 #, c-format @@ -935,7 +928,7 @@ msgstr "Прекидам..." #: error.c:287 #, c-format msgid "INFORM: " -msgstr "" +msgstr "ПОДАЦИ: " #: error.c:462 msgid "unknown command error" @@ -961,7 +954,7 @@ msgstr "%s: несвезана променљива" #: eval.c:192 #, c-format msgid "\atimed out waiting for input: auto-logout\n" -msgstr "\\aистекло је време чекајући на улаз: самостално се одјављујем\n" +msgstr "\aистекло је време чекајући на улаз: сам се одјављујем\n" #: execute_cmd.c:538 #, c-format @@ -978,14 +971,14 @@ msgid "pipe error" msgstr "грешка спојке" #: execute_cmd.c:4426 -#, fuzzy, c-format +#, c-format msgid "eval: maximum eval nesting level exceeded (%d)" -msgstr "%s: премашен је највећи ниво угнежђивања функције (%d)" +msgstr "процена: премашен је највећи ниво угнежђивања процене (%d)" #: execute_cmd.c:4438 -#, fuzzy, c-format +#, c-format msgid "%s: maximum source nesting level exceeded (%d)" -msgstr "%s: премашен је највећи ниво угнежђивања функције (%d)" +msgstr "%s: премашен је највећи ниво угнежђивања извора (%d)" #: execute_cmd.c:4547 #, c-format @@ -1408,7 +1401,7 @@ msgstr "make_redirection: упутсво преусмерења „%d“ је в #: parse.y:2685 msgid "maximum here-document count exceeded" -msgstr "" +msgstr "премашен је највећи број „овде-документ“" #: parse.y:3370 parse.y:3653 #, c-format @@ -1591,17 +1584,17 @@ msgid "%c%c: invalid option" msgstr "%c%c: неисправна опција" #: shell.c:1257 -#, fuzzy, c-format +#, c-format msgid "cannot set uid to %d: effective uid %d" -msgstr "не могу да поништим режим без-кашњења за фд „%d“" +msgstr "не могу да подесим јиб на %d: стварни јиб %d" #: shell.c:1264 -#, fuzzy, c-format +#, c-format msgid "cannot set gid to %d: effective gid %d" -msgstr "не могу да поништим режим без-кашњења за фд „%d“" +msgstr "не могу да подесим гиб на %d: стварни гиб %d" #: shell.c:1539 -#, fuzzy, c-format +#, c-format msgid "%s: Is a directory" msgstr "%s: је директоријум" @@ -1658,12 +1651,12 @@ msgstr "Користите наредбу „bashbug“ да известите #: shell.c:1928 #, c-format msgid "bash home page: \n" -msgstr "" +msgstr "Матична страница баша: \n" #: shell.c:1929 #, c-format msgid "General help using GNU software: \n" -msgstr "" +msgstr "Општа помоћ коришћења Гну софтвера: \n" #: sig.c:703 #, c-format @@ -1890,14 +1883,14 @@ msgid "%s: bad substitution" msgstr "%s: лоша замена" #: subst.c:6455 -#, fuzzy, c-format +#, c-format msgid "%s: invalid indirect expansion" -msgstr "%s: неисправан број реда" +msgstr "%s: неисправно посредно ширење" #: subst.c:6462 -#, fuzzy, c-format +#, c-format msgid "%s: invalid variable name" -msgstr "„%s“: неисправан назив алијаса" +msgstr "%s: неисправан назив променљиве" #: subst.c:6509 #, c-format @@ -1915,9 +1908,7 @@ msgid "$%s: cannot assign in this way" msgstr "$%s: не могу дадоделим на овај начин" #: subst.c:8469 -msgid "" -"future versions of the shell will force evaluation as an arithmetic " -"substitution" +msgid "future versions of the shell will force evaluation as an arithmetic substitution" msgstr "будућа издања шкољке ће приморати процену као аритметичку замену" #: subst.c:9009 @@ -1973,11 +1964,8 @@ msgstr "run_pending_traps: лоша вредност у „trap_list[%d]“: %p" #: trap.c:389 #, c-format -msgid "" -"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself" -msgstr "" -"run_pending_traps: руковалац сигналом је „SIG_DFL“, поново шаљем %d (%s) " -"мени самом" +msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself" +msgstr "run_pending_traps: руковалац сигналом је „SIG_DFL“, поново шаљем %d (%s) мени самом" #: trap.c:442 #, c-format @@ -2055,17 +2043,12 @@ msgid "%s: %s: compatibility value out of range" msgstr "%s: %s: вреднсот сагласности је ван опсега" #: version.c:46 -#, fuzzy msgid "Copyright (C) 2015 Free Software Foundation, Inc." -msgstr "Ауторска права (C) 2013 Задужбина слободног софтвера, Доо." +msgstr "Ауторска права (C) 2015 Задужбина слободног софтвера, Доо." #: version.c:47 version2.c:47 -msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" -msgstr "" -"Дозвола ОЈЛи3+: Гнуова ОЈЛ издање 3 или касније \n" +msgid "License GPLv3+: GNU GPL version 3 or later \n" +msgstr "Дозвола ОЈЛи3+: Гнуова ОЈЛ издање 3 или касније \n" #: version.c:86 version2.c:86 #, c-format @@ -2074,17 +2057,15 @@ msgstr "Гну баш, издање %s (%s)\n" #: version.c:91 version2.c:91 msgid "This is free software; you are free to change and redistribute it." -msgstr "" -"Ово је слободан софтвер; слободни сте да га мењате и да га расподељујете." +msgstr "Ово је слободан софтвер; слободни сте да га мењате и да га расподељујете." #: version.c:92 version2.c:92 msgid "There is NO WARRANTY, to the extent permitted by law." msgstr "Нема НИКАКВЕ ГАРАНЦИЈЕ у оквирима дозвољеним законом." #: version2.c:46 -#, fuzzy msgid "Copyright (C) 2014 Free Software Foundation, Inc." -msgstr "Ауторска права (C) 2013 Задужбина слободног софтвера, Доо." +msgstr "Ауторска права (C) 2014 Задужбина слободног софтвера, Доо." #: xmalloc.c:91 #, c-format @@ -2115,13 +2096,8 @@ msgid "unalias [-a] name [name ...]" msgstr "unalias [-a] назив [назив ...]" #: builtins.c:51 -msgid "" -"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-" -"x keyseq:shell-command] [keyseq:readline-function or readline-command]" -msgstr "" -"bind [-lpsvPSVX] [-m мапа кључа] [-f датотека] [-q назив] [-u назив] [-r низ " -"кључа] [-x низ кључа:наредба-шкољке] [низ кључа:функција-читањареда или " -"наредба-читањареда]" +msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]" +msgstr "bind [-lpsvPSVX] [-m мапа кључа] [-f датотека] [-q назив] [-u назив] [-r низ кључа] [-x низ кључа:наредба-шкољке] [низ кључа:функција-читањареда или наредба-читањареда]" #: builtins.c:54 msgid "break [n]" @@ -2149,7 +2125,7 @@ msgstr "pwd [-LP]" #: builtins.c:68 msgid ":" -msgstr "%s%c" +msgstr ":" #: builtins.c:70 msgid "true" @@ -2157,7 +2133,7 @@ msgstr "true" #: builtins.c:72 msgid "false" -msgstr "%s%c" +msgstr "false" #: builtins.c:74 msgid "command [-pVv] command [arg ...]" @@ -2168,9 +2144,8 @@ msgid "declare [-aAfFgilnrtux] [-p] [name[=value] ...]" msgstr "declare [-aAfFgilnrtux] [-p] [назив[=вредност] ...]" #: builtins.c:78 -#, fuzzy msgid "typeset [-aAfFgilnrtux] [-p] name[=value] ..." -msgstr "typeset [-aAfFgilrtux] [-p] назив[=вредност] ..." +msgstr "typeset [-aAfFgilnrtux] [-p] назив[=вредност] ..." #: builtins.c:80 msgid "local [option] name[=value] ..." @@ -2229,12 +2204,8 @@ msgid "help [-dms] [pattern ...]" msgstr "help [-dms] [шаблон ...]" #: builtins.c:121 -msgid "" -"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg " -"[arg...]" -msgstr "" -"history [-c] [-d померај] [n] или history -anrw [датотека] или history -ps " -"arg [аргумент...]" +msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]" +msgstr "history [-c] [-d померај] [n] или history -anrw [датотека] или history -ps arg [аргумент...]" #: builtins.c:125 msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]" @@ -2245,24 +2216,16 @@ msgid "disown [-h] [-ar] [jobspec ...]" msgstr "disown [-h] [-ar] [одредба_посла ...]" #: builtins.c:132 -msgid "" -"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l " -"[sigspec]" -msgstr "" -"kill [-s одредба-сигнала | -n бр.сигнала | -sigspec] пиб | одредба_посла ... " -"или kill -l [одредба_посла]" +msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]" +msgstr "kill [-s одредба-сигнала | -n бр.сигнала | -sigspec] пиб | одредба_посла ... или kill -l [одредба_посла]" #: builtins.c:134 msgid "let arg [arg ...]" msgstr "let arg [аргумент ...]" #: builtins.c:136 -msgid "" -"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p " -"prompt] [-t timeout] [-u fd] [name ...]" -msgstr "" -"read [-ers] [-a низ] [-d ограничи] [-i текст] [-n н-знак] [-N н-знак] [-p " -"упит] [-t временски рок] [-u фд] [назив ...]" +msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]" +msgstr "read [-ers] [-a низ] [-d ограничи] [-i текст] [-n н-знак] [-N н-знак] [-p упит] [-t временски рок] [-u фд] [назив ...]" #: builtins.c:138 msgid "return [n]" @@ -2321,9 +2284,8 @@ msgid "type [-afptP] name [name ...]" msgstr "type [-afptP] назив [назив ...]" #: builtins.c:169 -#, fuzzy msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]" -msgstr "ulimit [-SHabcdefilmnpqrstuvxT] [ограничење]" +msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [ограничење]" #: builtins.c:172 msgid "umask [-p] [-S] [mode]" @@ -2358,12 +2320,8 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac" msgstr "case РЕЧ у [ШАБЛОН [| ШАБЛОН]...) НАРЕДБЕ ;;]... esac" #: builtins.c:192 -msgid "" -"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else " -"COMMANDS; ] fi" -msgstr "" -"if НАРЕДБЕ; then НАРЕДБЕ; [ elif НАРЕДБЕ; then НАРЕДБЕ; ]... [ else " -"НАРЕДБЕ; ] fi" +msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi" +msgstr "if НАРЕДБЕ; then НАРЕДБЕ; [ elif НАРЕДБЕ; then НАРЕДБЕ; ]... [ else НАРЕДБЕ; ] fi" #: builtins.c:194 msgid "while COMMANDS; do COMMANDS; done" @@ -2422,48 +2380,26 @@ msgid "printf [-v var] format [arguments]" msgstr "printf [-v променљива] format [аргументи]" #: builtins.c:229 -msgid "" -"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-" -"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S " -"suffix] [name ...]" -msgstr "" -"complete [-abcdefgjksuv] [-pr] [-DE] [-o опција] [-A радња] [-G општапутања] " -"[-W списакречи] [-F функција] [-C наредба] [-X путањауслова] [-P префикс] [-" -"S суфикс] [назив ...]" +msgid "complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]" +msgstr "complete [-abcdefgjksuv] [-pr] [-DE] [-o опција] [-A радња] [-G општапутања] [-W списакречи] [-F функција] [-C наредба] [-X путањауслова] [-P префикс] [-S суфикс] [назив ...]" #: builtins.c:233 -#, fuzzy -msgid "" -"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] " -"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]" -msgstr "" -"compgen [-abcdefgjksuv] [-o опција] [-A радња] [-G општапутања] [-W " -"списакречи] [-F функција] [-C наредба] [-X путањауслова] [-P префикс] [-S " -"суфикс] [реч]" +msgid "compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]" +msgstr "compgen [-abcdefgjksuv] [-o опција] [-A радња] [-G општапутања] [-W списакречи] [-F функција] [-C наредба] [-X путањауслова] [-P префикс] [-S суфикс] [реч]" #: builtins.c:237 msgid "compopt [-o|+o option] [-DE] [name ...]" msgstr "compopt [-o|+o опција] [-DE] [назив ...]" #: builtins.c:240 -#, fuzzy -msgid "" -"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C " -"callback] [-c quantum] [array]" -msgstr "" -"mapfile [-n број] [-O порекло] [-s број] [-t] [-u фд] [-C опозив] [-c " -"количина] [низ]" +msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]" +msgstr "mapfile [-d раздвој] [-n број] [-O порекло] [-s број] [-t] [-u фд] [-C опозив] [-c количина] [низ]" #: builtins.c:242 -msgid "" -"readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c " -"quantum] [array]" -msgstr "" -"readarray [-n број] [-O порекло] [-s број] [-t] [-u фд] [-C опозив] [-c " -"количина] [низ]" +msgid "readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]" +msgstr "readarray [-n број] [-O порекло] [-s број] [-t] [-u фд] [-C опозив] [-c количина] [низ]" #: builtins.c:254 -#, fuzzy msgid "" "Define or display aliases.\n" " \n" @@ -2478,8 +2414,7 @@ msgid "" " -p\tprint all defined aliases in a reusable format\n" " \n" " Exit Status:\n" -" alias returns true unless a NAME is supplied for which no alias has " -"been\n" +" alias returns true unless a NAME is supplied for which no alias has been\n" " defined." msgstr "" "Одређује или приказује псеудониме.\n" @@ -2487,20 +2422,18 @@ msgstr "" " Без аргумената, „alias“ исписује списак псеудонима у поново\n" " употрбљивом облику „alias НАЗИВ=ВРЕДНОСТ“ на стандардном излазу.\n" " \n" -" У супротном, псеудоним се одређује за сваки НАЗИВ чија ВРЕДНОСТ је " -"дата.\n" +" У супротном, псеудоним се одређује за сваки НАЗИВ чија ВРЕДНОСТ је дата.\n" " Претходећи размак у ВРЕДНОСТИ доводи до тога да следећа реч бива\n" " проверена за заменом псеудонима када је псеудоним раширен.\n" " \n" " Опције:\n" -" -p\tИсписује све одређене псеудониме у поново употребљивом облику\n" +" -p\tисписује све одређене псеудониме у поново употребљивом облику\n" " \n" " Излазно стање:\n" " „alias“ даје тачност осим ако је достављен НАЗИВ за који ниједан\n" " псеудоним није одређен." #: builtins.c:276 -#, fuzzy msgid "" "Remove each NAME from the list of defined aliases.\n" " \n" @@ -2512,12 +2445,11 @@ msgstr "" "Уклања сваки НАЗИВ са списка одређених псеудонима.\n" " \n" " Опције:\n" -" -a\tуклања све одреднице псеудонима.\n" +" -a\tуклања све одреднице псеудонима\n" " \n" " Резултат је успешан осим ако НАЗИВ није постојећи псеудоним." #: builtins.c:289 -#, fuzzy msgid "" "Set Readline key bindings and variables.\n" " \n" @@ -2529,30 +2461,25 @@ msgid "" " 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" +" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n" " vi-command, and vi-insert.\n" " -l List names of functions.\n" " -P List function names and bindings.\n" " -p List functions and bindings in a form that can be\n" " reused as input.\n" -" -S List key sequences that invoke macros and their " -"values\n" -" -s List key sequences that invoke macros and their " -"values\n" +" -S List key sequences that invoke macros and their values\n" +" -s List key sequences that invoke macros and their values\n" " in a form that can be reused as input.\n" " -V List variable names and values\n" " -v List variable names and values in a form that can\n" " be reused as input.\n" " -q function-name Query about which keys invoke the named function.\n" -" -u function-name Unbind all keys which are bound to the named " -"function.\n" +" -u function-name Unbind all keys which are bound to the named function.\n" " -r keyseq Remove the binding for KEYSEQ.\n" " -f filename Read key bindings from FILENAME.\n" " -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n" " \t\t\t\tKEYSEQ is entered.\n" -" -X List key sequences bound with -x and associated " -"commands\n" +" -X List key sequences bound with -x and associated commands\n" " in a form that can be reused as input.\n" " \n" " Exit Status:\n" @@ -2566,47 +2493,31 @@ msgstr "" " аргумент: нпр., bind „\"\\C-x\\C-r\": re-read-init-file“.\n" " \n" " Опције:\n" -" -m мапа тастера Користи МАПУ_ТАСТЕРА као мапу тастера " -"за трајање ове\n" -" наредбе. Прихватљиви називи мапе " -"тастера су: „emacs,\n" -" emacs-standard, emacs-meta, emacs-" -"ctlx, vi, vi-move,\n" +" -m мапа тастера Користи МАПУ_ТАСТЕРА као мапу тастера за трајање ове\n" +" наредбе. Прихватљиви називи мапе тастера су: „emacs,\n" +" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n" " vi-command, и vi-insert“.\n" " -l Исписује називе функција.\n" " -P Исписује називе функција и свезе.\n" -" -p Испсиује функције и свезе у облику " -"који може бити поново\n" +" -p Испсиује функције и свезе у облику који може бити поново\n" " коришћен као улаз.\n" -" -S Исписује низове тастера који призивају " -"макрое и њихове вредности\n" -" -s Исписује низове тастера који призивају " -"макрое и њихове вредности\n" -" у облику који може бити поново " -"коришћен као улаз.\n" -" -V Исписује називе и вредности " -"променљивих\n" -" -v Исписује називе и вредности " -"променљивих у облику који може бити\n" +" -S Исписује низове тастера који призивају макрое и њихове вредности\n" +" -s Исписује низове тастера који призивају макрое и њихове вредности\n" +" у облику који може бити поново коришћен као улаз.\n" +" -V Исписује називе и вредности променљивих\n" +" -v Исписује називе и вредности променљивих у облику који може бити\n" " поново коришћен као улаз.\n" -" -q назив-функције Пропитује о томе који тастери " -"призивају именовану функцију.\n" -" -u назив-функције Развезује све тастере који су " -"привезани за именовану функцију.\n" +" -q назив-функције Пропитује о томе који тастери призивају именовану функцију.\n" +" -u назив-функције Развезује све тастере који су привезани за именовану функцију.\n" " -r низ тастера Укалања свезу за НИЗ_ТАСТЕРА.\n" -" -f назив датотеке Чита свезе тастера из " -"НАЗИВА_ДАТОТЕКЕ.\n" -" -x низ_тастера:наредба-шкољке Доводи до извршавања НАРЕДБЕ-ШКОЉКЕ " -"приликом уноса\n" +" -f назив датотеке Чита свезе тастера из НАЗИВА_ДАТОТЕКЕ.\n" +" -x низ_тастера:наредба-шкољке Доводи до извршавања НАРЕДБЕ-ШКОЉКЕ приликом уноса\n" " \t\t\t НИЗА_ТАСТЕРА.\n" -" -X\t Исписује свезе низова тастера са -x и " -"придружене наредбе у облику\n" -" који може бити поново коришћен као " -"улаз.\n" +" -X Исписује свезе низова тастера са -x и придружене наредбе у облику\n" +" који може бити поново коришћен као улаз.\n" " \n" " Излазно стање:\n" -" „bind“ даје 0 осим ако није дата непозната опција или ако не дође до " -"грешке." +" „bind“ даје 0 осим ако није дата непозната опција или ако не дође до грешке." #: builtins.c:328 msgid "" @@ -2620,8 +2531,7 @@ msgid "" msgstr "" "Излазне петље „for“, „while“, или „until“.\n" " \n" -" Излази из петље FOR, WHILE или UNTIL. Ако је наведено N, слама N " -"затварајућих\n" +" Излази из петље FOR, WHILE или UNTIL. Ако је наведено N, слама N затварајућих\n" " петљи.\n" " \n" " Излазно стање:\n" @@ -2651,8 +2561,7 @@ msgid "" " \n" " Execute SHELL-BUILTIN with arguments ARGs without performing command\n" " lookup. This is useful when you wish to reimplement a shell builtin\n" -" as a shell function, but need to execute the builtin within the " -"function.\n" +" as a shell function, but need to execute the builtin within the function.\n" " \n" " Exit Status:\n" " Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n" @@ -2662,12 +2571,10 @@ msgstr "" " \n" " Извршава УГРАЂЕНОСТ-ШКОЉКЕ са аргументима АРГ-и без обављања тражења\n" " наредбе. Ово је корисно када желите поново да примените уграђеност\n" -" шкољке као функцију шкољке, али морате да извршите уграђеност у " -"функцији.\n" +" шкољке као функцију шкољке, али морате да извршите уграђеност у функцији.\n" " \n" " Излазно стање:\n" -" Даје излазно стање УГРАЂЕНОСТИ-ШКОЉКЕ, или нетачност ако УГРАЂЕНОСТ-" -"ШКОЉКЕ\n" +" Даје излазно стање УГРАЂЕНОСТИ-ШКОЉКЕ, или нетачност ако УГРАЂЕНОСТ-ШКОЉКЕ\n" " није уграђеност шкољке." #: builtins.c:367 @@ -2699,26 +2606,19 @@ msgstr "" " није исправан." #: builtins.c:385 -#, fuzzy msgid "" "Change the shell working directory.\n" " \n" -" Change the current directory to DIR. The default DIR is the value of " -"the\n" +" Change the current directory to DIR. The default DIR is the value of the\n" " HOME shell variable.\n" " \n" -" The variable CDPATH defines the search path for the directory " -"containing\n" -" DIR. Alternative directory names in CDPATH are separated by a colon " -"(:).\n" -" A null directory name is the same as the current directory. If DIR " -"begins\n" +" The variable CDPATH defines the search path for the directory containing\n" +" DIR. Alternative directory names in CDPATH are separated by a colon (:).\n" +" A null directory name is the same as the current directory. If DIR begins\n" " with a slash (/), then CDPATH is not used.\n" " \n" -" If the directory is not found, and the shell option `cdable_vars' is " -"set,\n" -" the word is assumed to be a variable name. If that variable has a " -"value,\n" +" If the directory is not found, and the shell option `cdable_vars' is set,\n" +" the word is assumed to be a variable name. If that variable has a value,\n" " its value is used for DIR.\n" " \n" " Options:\n" @@ -2734,13 +2634,11 @@ msgid "" " \t\tattributes as a directory containing the file attributes\n" " \n" " The default is to follow symbolic links, as if `-L' were specified.\n" -" `..' is processed by removing the immediately previous pathname " -"component\n" +" `..' is processed by removing the immediately previous pathname component\n" " back to a slash or the beginning of DIR.\n" " \n" " Exit Status:\n" -" Returns 0 if the directory is changed, and if $PWD is set successfully " -"when\n" +" Returns 0 if the directory is changed, and if $PWD is set successfully when\n" " -P is used; non-zero otherwise." msgstr "" "Мења радни директоријум шкољке.\n" @@ -2748,12 +2646,9 @@ msgstr "" " Мења текући директоријум у ДИР. Основни ДИР је вредност променљиве\n" " шкољке „ЛИЧНО“.\n" " \n" -" Променљива „ЦДПУТАЊА“ одређује путању претраге за директоријум који " -"садржи\n" -" ДИР. Заменски називи директоријума у ЦДПУТАЊИ су раздвојени двотачком " -"(:).\n" -" Назив ништавног директоријума је исти као текући директоријум. Ако ДИР " -"почиње\n" +" Променљива „ЦДПУТАЊА“ одређује путању претраге за директоријум који садржи\n" +" ДИР. Заменски називи директоријума у ЦДПУТАЊИ су раздвојени двотачком (:).\n" +" Назив ништавног директоријума је исти као текући директоријум. Ако ДИР почиње\n" " косом цртом (/), тада се ЦДПУТАЊА не користи.\n" " \n" " Ако се не нађе директоријум, а опција шкољке „cdable_vars“ је подешена,\n" @@ -2764,12 +2659,10 @@ msgstr "" " -L\tприморава праћење симболичких веза: решава симболичке везе у\n" " ДИР-у након обраде примерака „..“\n" " -P\tкористи физичку структуру директоријума без праћења симболичких\n" -" веза: решава симболичке везе у ДИР-у пре обраде3 примерака " -"„..“\n" +" веза: решава симболичке везе у ДИР-у пре обраде3 примерака „..“\n" " -e\tако је достављена опција „-P“, а текући радни директоријум не\n" " може бити успешно одређен, излази са не-нултим стањем\n" -" -@ на системима који подржавају, представља датотеку са " -"проширеним\n" +" -@ на системима који подржавају, представља датотеку са проширеним\n" " особинама као директоријум који садржи особине датотеке\n" " \n" " Основно је да прати симболичке везе, као да је наведено „-L“.\n" @@ -2777,12 +2670,10 @@ msgstr "" " косу цтрицу или на почетак ДИР-а.\n" " \n" " Излазно стање:\n" -" Даје 0 ако је директоријум измењен, и ако је $PWD успешно подешено када " -"је\n" +" Даје 0 ако је директоријум измењен, и ако је $PWD успешно подешено када је\n" " коришћено „-P“; у супротном вредност различиту од нуле." #: builtins.c:423 -#, fuzzy msgid "" "Print the name of the current working directory.\n" " \n" @@ -2851,13 +2742,11 @@ msgstr "" " Увек неуспешно." #: builtins.c:469 -#, fuzzy msgid "" "Execute a simple command or display information about commands.\n" " \n" " Runs COMMAND with ARGS suppressing shell function lookup, or display\n" -" information about the specified COMMANDs. Can be used to invoke " -"commands\n" +" information about the specified COMMANDs. Can be used to invoke commands\n" " on disk when a function with the same name exists.\n" " \n" " Options:\n" @@ -2872,21 +2761,19 @@ msgstr "" "Извршава једноставну наредбу или приказује податке о наредбама.\n" " \n" " Покреће НАРЕДБУ са АРГУМЕНТИМА потискујући тражење функције шкољке, или\n" -" приказује податке о наведеним НАРЕДБАМА. Може да се користи за " -"позивање\n" +" приказује податке о наведеним НАРЕДБАМА. Може да се користи за позивање\n" " наредби на диску када постоји функција са истим називом.\n" " \n" " Опције:\n" -" -p\tкористи основну вредност за ПУТАЊУ којом се осигурава налажење\n" -" свих стандардних помагала\n" -" -v\tисписује опис НАРЕДБЕ слично уграђености „type“\n" -" -V\tисписује опширнији опис сваке НАРЕДБЕ\n" +" -p користи основну вредност за ПУТАЊУ којом се осигурава налажење\n" +" свих стандардних помагала\n" +" -v исписује опис НАРЕДБЕ слично уграђености „type“\n" +" -V исписује опширнији опис сваке НАРЕДБЕ\n" " \n" " Излазно стање:\n" " Даје излазно стање НАРЕДБЕ, или неуспех ако се НАРЕДБА не пронађе." #: builtins.c:488 -#, fuzzy msgid "" "Set variable values and attributes.\n" " \n" @@ -2917,8 +2804,7 @@ msgid "" " Variables with the integer attribute have arithmetic evaluation (see\n" " the `let' command) performed when the variable is assigned a value.\n" " \n" -" When used in a function, `declare' makes NAMEs local, as with the " -"`local'\n" +" When used in a function, `declare' makes NAMEs local, as with the `local'\n" " command. The `-g' option suppresses this behavior.\n" " \n" " Exit Status:\n" @@ -2958,8 +2844,7 @@ msgstr "" " „local“. Опција „-g“ потискује ово понашање.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако се не достави неисправна опција или " -"ако\n" +" Даје позитиван резултат осим ако се не достави неисправна опција или ако\n" " не дође до грешке доделе променљиве." #: builtins.c:528 @@ -2995,17 +2880,14 @@ msgstr "" " функције у којима су одређене и уњиховим породима.\n" " \n" " Излазно стање:\n" -" Резултат је позитиван осим ако се не достави неисправна опција, ако не " -"дође\n" +" Резултат је позитиван осим ако се не достави неисправна опција, ако не дође\n" " до грешке додељивања променљиве, или ако шкољка не извршава функцију." #: builtins.c:553 -#, fuzzy msgid "" "Write arguments to the standard output.\n" " \n" -" Display the ARGs, separated by a single space character and followed by " -"a\n" +" Display the ARGs, separated by a single space character and followed by a\n" " newline, on the standard output.\n" " \n" " Options:\n" @@ -3113,8 +2995,7 @@ msgid "" msgstr "" "Укључује и искључује уграђености шкољке.\n" " \n" -" Укључује и искључује уграђене наредбе шкољке. Искључивање вам " -"омогућава\n" +" Укључује и искључује уграђене наредбе шкољке. Искључивање вам омогућава\n" " да извршите наредбу диска која носи исти назив као уграђеност шкољке\n" " без коришћења пуне путање.\n" " \n" @@ -3134,15 +3015,13 @@ msgstr "" " шкољке, укуцајте „enable -n test“.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако НАЗИВ није уграђеност шкољке или ако не " -"дође до грешке." +" Даје позитиван резултат осим ако НАЗИВ није уграђеност шкољке или ако не дође до грешке." #: builtins.c:632 msgid "" "Execute arguments as a shell command.\n" " \n" -" Combine ARGs into a single string, use the result as input to the " -"shell,\n" +" Combine ARGs into a single string, use the result as input to the shell,\n" " and execute the resulting commands.\n" " \n" " Exit Status:\n" @@ -3217,37 +3096,28 @@ msgstr "" " о грешци. У овом режиму, поруке о грешкама се не исписују. Ако је\n" " виђена неисправна опција, поставља знак опцијепронађен у ОПЦАРГ-у. Ако\n" " захтевани аргумент није нађен, поставља двотачку „:“ у НАЗИВ и подешава\n" -" ОПЦАРГ на нађени знак опције. Ако „добави_опцију“ није у нечујном " -"режиму,\n" +" ОПЦАРГ на нађени знак опције. Ако „добави_опцију“ није у нечујном режиму,\n" " а виђена је неисправна опција, онда поставља знак питања „?“ у НАЗИВ и\n" -" расподешава ОПЦАРГ. Ако није пронађен захтевани аргумент, питање „?“ " -"се\n" -" поставља у НАЗИВУ, ОПЦАРГ се расподешава, а исписује се порука о " -"дијагнози.\n" +" расподешава ОПЦАРГ. Ако није пронађен захтевани аргумент, питање „?“ се\n" +" поставља у НАЗИВУ, ОПЦАРГ се расподешава, а исписује се порука о дијагнози.\n" " \n" -" Ако променљива шкољке ОПЦГРЕШКА има вредност 0, „добави_опцију“ " -"искључује\n" -" исписивање порука о грешкама, чак и ако први знак ОПЦНИСКЕ није " -"двотачка.\n" +" Ако променљива шкољке ОПЦГРЕШКА има вредност 0, „добави_опцију“ искључује\n" +" исписивање порука о грешкама, чак и ако први знак ОПЦНИСКЕ није двотачка.\n" " ОПЦГРЕШКА има вредност 1 по основи.\n" " \n" -" „Добави_опцију“ обично обрађује положајне параметре ($0 - $9), али ако " -"је\n" +" „Добави_опцију“ обично обрађује положајне параметре ($0 - $9), али ако је\n" " дато више аргумената, онда се они обрађују.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат ако је пронађена опција; неуспех ако се наиђе " -"на\n" +" Даје позитиван резултат ако је пронађена опција; неуспех ако се наиђе на\n" " крај опције или ако не дође до грешке." #: builtins.c:686 -#, fuzzy msgid "" "Replace the shell with the given command.\n" " \n" " Execute COMMAND, replacing this shell with the specified program.\n" -" ARGUMENTS become the arguments to COMMAND. If COMMAND is not " -"specified,\n" +" ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,\n" " any redirections take effect in the current shell.\n" " \n" " Options:\n" @@ -3255,19 +3125,16 @@ msgid "" " -c\texecute COMMAND with an empty environment\n" " -l\tplace a dash in the zeroth argument to COMMAND\n" " \n" -" If the command cannot be executed, a non-interactive shell exits, " -"unless\n" +" If the command cannot be executed, a non-interactive shell exits, unless\n" " the shell option `execfail' is set.\n" " \n" " Exit Status:\n" -" Returns success unless COMMAND is not found or a redirection error " -"occurs." +" Returns success unless COMMAND is not found or a redirection error occurs." msgstr "" "Замењује шкољку датом наредбом.\n" " \n" " Извршава НАРЕДБУ, замењујући ову шкољку наведеним програмом. АРГУМЕНТИ\n" -" постају аргументи НАРЕДБЕ. Ако није наведена НАРЕДБА, свако " -"преусмеравање\n" +" постају аргументи НАРЕДБЕ. Ако није наведена НАРЕДБА, свако преусмеравање\n" " има дејства у текућој шкољци.\n" " \n" " Опције:\n" @@ -3275,13 +3142,11 @@ msgstr "" " -c\t\tизвршава НАРЕДБУ са празним окружењем\n" " -l\t\tпоставља цртицу у нултом аргументу НАРЕДБЕ\n" " \n" -" Ако наредба не може бити извршена, постоји не-међудејствена шкољка, " -"осим\n" +" Ако наредба не може бити извршена, постоји не-међудејствена шкољка, осим\n" " ако није подешена опција шкољке „execfail“.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако НАРЕДБА није нађена или ако не дође до " -"грешке преусмеравања." +" Даје позитиван резултат осим ако НАРЕДБА није нађена или ако не дође до грешке преусмеравања." #: builtins.c:707 msgid "" @@ -3299,29 +3164,25 @@ msgstr "" msgid "" "Exit a login shell.\n" " \n" -" Exits a login shell with exit status N. Returns an error if not " -"executed\n" +" Exits a login shell with exit status N. Returns an error if not executed\n" " in a login shell." msgstr "" "Напушта шкољку пријављивања.\n" " \n" -" Напушта шкољку пријављивања са излазним стањем N. Даје грешку ако није " -"извршено\n" +" Напушта шкољку пријављивања са излазним стањем N. Даје грешку ако није извршено\n" " у шкољци пријављивања." #: builtins.c:726 msgid "" "Display or execute commands from the history list.\n" " \n" -" fc is used to list or edit and re-execute commands from the history " -"list.\n" +" fc is used to list or edit and re-execute commands from the history list.\n" " FIRST and LAST can be numbers specifying the range, or FIRST can be a\n" " string, which means the most recent command beginning with that\n" " string.\n" " \n" " Options:\n" -" -e ENAME\tselect which editor to use. Default is FCEDIT, then " -"EDITOR,\n" +" -e ENAME\tselect which editor to use. Default is FCEDIT, then EDITOR,\n" " \t\tthen vi\n" " -l \tlist lines instead of editing\n" " -n\tomit line numbers when listing\n" @@ -3335,21 +3196,16 @@ msgid "" " the last command.\n" " \n" " Exit Status:\n" -" Returns success or status of executed command; non-zero if an error " -"occurs." +" Returns success or status of executed command; non-zero if an error occurs." msgstr "" "Приказује или извршава наредбе са списка историјата.\n" " \n" -" „fc“ се користи за исписивање или уређивање и за поновно извршавање " -"наредби\n" -" са списка историјата. ПРВИ и ПОСЛЕДЊИ могу бити бројеви који наводе " -"опсег,\n" -" или ПРВИ може бити ниска, што значи да најсвежија наредба почиње том " -"ниском.\n" +" „fc“ се користи за исписивање или уређивање и за поновно извршавање наредби\n" +" са списка историјата. ПРВИ и ПОСЛЕДЊИ могу бити бројеви који наводе опсег,\n" +" или ПРВИ може бити ниска, што значи да најсвежија наредба почиње том ниском.\n" " \n" " Опције:\n" -" -e ЕНАЗИВ\t бира уређивача за коришћење. Основно је „FCEDIT“, затим " -"„EDITOR“,\n" +" -e ЕНАЗИВ\t бира уређивача за коришћење. Основно је „FCEDIT“, затим „EDITOR“,\n" " \t\t затим „vi“\n" " -l \t прави списак редова уместо да уређује\n" " -n\t изоставља бројеве редова приликом стварања списка\n" @@ -3363,8 +3219,7 @@ msgstr "" " последњу наредбу.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат или стање извршене наредбе; не-нулу ако дође до " -"грешке." +" Даје позитиван резултат или стање извршене наредбе; не-нулу ако дође до грешке." #: builtins.c:756 msgid "" @@ -3390,10 +3245,8 @@ msgstr "" msgid "" "Move jobs to the background.\n" " \n" -" Place the jobs identified by each JOB_SPEC in the background, as if " -"they\n" -" had been started with `&'. If JOB_SPEC is not present, the shell's " -"notion\n" +" Place the jobs identified by each JOB_SPEC in the background, as if they\n" +" had been started with `&'. If JOB_SPEC is not present, the shell's notion\n" " of the current job is used.\n" " \n" " Exit Status:\n" @@ -3401,23 +3254,19 @@ msgid "" msgstr "" "Премешта посао у позадину.\n" " \n" -" Поставља посао одређен сваком „JOB_SPEC“ у позадину, као да су " -"покренути\n" +" Поставља посао одређен сваком „JOB_SPEC“ у позадину, као да су покренути\n" " са &. Ако „JOB_SPEC“ није присутно, користи се шкољкино поимање\n" " текућег посла.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако није укључено управљање послом или ако " -"не дође до грешке." +" Даје позитиван резултат осим ако није укључено управљање послом или ако не дође до грешке." #: builtins.c:785 -#, fuzzy msgid "" "Remember or display program locations.\n" " \n" " Determine and remember the full pathname of each command NAME. If\n" -" no arguments are given, information about remembered commands is " -"displayed.\n" +" no arguments are given, information about remembered commands is displayed.\n" " \n" " Options:\n" " -d\tforget the remembered location of each NAME\n" @@ -3440,23 +3289,21 @@ msgstr "" " дати аргументи, приказује се податак о упамћеним наредбама.\n" " \n" " Опције:\n" -" -d\t\tзаборавља запамћено место сваког НАЗИВА\n" -" -l\t\tприказује у облику који може бити поново коришћен као улаз\n" -" -p путања \tкористи ПУТАЊУ као пуну путању НАЗИВА\n" -" -r\t\tзаборавља сва запамћена места\n" -" -t\t\tисписује запамћено место сваког НАЗИВА, постављајући\n" -" \t\t одговарајући НАЗИВ испред сваког места ако је дато\n" -" \t\t више НАЗИВА\n" +" -d\tзаборавља запамћено место сваког НАЗИВА\n" +" -l\tприказује у облику који може бити поново коришћен као улаз\n" +" -p путања користи ПУТАЊУ као пуну путању НАЗИВА\n" +" -r\tзаборавља сва запамћена места\n" +" -t\tисписује запамћено место сваког НАЗИВА, постављајући\n" +" \t\tодговарајући НАЗИВ испред сваког места ако је дато\n" +" \t\tвише НАЗИВА\n" " Аргументи:\n" -" НАЗИВ\t\tСваки НАЗИВ се тражи у $ПУТАЊИ и додаје на списак\n" -" \t\t запамћених наредби.\n" +" НАЗИВ\tСваки НАЗИВ се тражи у $ПУТАЊИ и додаје на списак\n" +" \t\tзапамћених наредби.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако се НАЗИВ не нађе или ако је дата " -"неисправна опција." +" Даје позитиван резултат осим ако се НАЗИВ не нађе или ако је дата неисправна опција." #: builtins.c:810 -#, fuzzy msgid "" "Display information about builtin commands.\n" " \n" @@ -3474,8 +3321,7 @@ msgid "" " PATTERN\tPattern specifiying a help topic\n" " \n" " Exit Status:\n" -" Returns success unless PATTERN is not found or an invalid option is " -"given." +" Returns success unless PATTERN is not found or an invalid option is given." msgstr "" "Приказује податке о уграђеним наредбама.\n" " \n" @@ -3493,11 +3339,9 @@ msgstr "" " ШАБЛОН\tШаблон који наводи тему помоћи\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако ШАБЛОН није пронађен или ако је дата " -"неисправна опција." +" Даје позитиван резултат осим ако ШАБЛОН није пронађен или ако је дата неисправна опција." #: builtins.c:834 -#, fuzzy msgid "" "Display or manipulate the history list.\n" " \n" @@ -3524,8 +3368,7 @@ msgid "" " \n" " If the HISTTIMEFORMAT variable is set and not null, its value is used\n" " as a format string for strftime(3) to print the time stamp associated\n" -" with each displayed history entry. No time stamps are printed " -"otherwise.\n" +" with each displayed history entry. No time stamps are printed otherwise.\n" " \n" " Exit Status:\n" " Returns success unless an invalid option is given or an error occurs." @@ -3540,8 +3383,7 @@ msgstr "" " -d померај брише унос историјата на померају ПОМЕРАЈ.\n" " \n" " -a\t додаје редове историјата из ове сесије у датотеку историјата\n" -" -n\t чита све редове историјата који нису прочитани из датотеке " -"историјата\n" +" -n\t чита све редове историјата који нису прочитани из датотеке историјата\n" " -r\t чита датотеку историјата и додаје садржај на списак историјата\n" " -w\t пише текући историјат у датотеку историјата\n" " \t и додаје их на спсак историјата\n" @@ -3551,22 +3393,16 @@ msgstr "" " -s\t додаје АРГ-те на списак историјата као један унос\n" " \n" " Ако је дата ДАТОТЕКА, користи се као датотека историјата. Усупротном,\n" -" ако $ДАТОТЕКА_ИСТОРИЈАТА има вредност, она се користи, другачије „~/." -"bash_history“.\n" +" ако ДАТОТЕКА_ИСТОРИЈАТА има вредност, она се користи, другачије „~/.bash_history“.\n" " \n" -" Ако је променљива $ЗАПИСВРЕМЕНАИСТОРИЈАТА подешена и није ништавна, " -"користи се\n" -" њена вредност као ниска записа за „strftime(3)“ да исписше временску " -"ознаку придружену\n" -" сваком приказаном уносу историјата. У супротном временске ознаке се не " -"исписују.\n" +" Ако је променљива ЗАПИСВРЕМЕНАИСТОРИЈАТА подешена и није ништавна, користи се\n" +" њена вредност као ниска записа за „strftime(3)“ да исписше временску ознаку придружену\n" +" сваком приказаном уносу историјата. У супротном временске ознаке се не исписују.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако није дата неисправна опција или ако не " -"дође до грешке." +" Даје позитиван резултат осим ако није дата неисправна опција или ако не дође до грешке." #: builtins.c:870 -#, fuzzy msgid "" "Display status of jobs.\n" " \n" @@ -3602,18 +3438,14 @@ msgstr "" " -r\tограничава излаз на покренуте послове\n" " -s\tограничава излаз на заустављене послове\n" " \n" -" Ако је достављено „-x“, НАРЕДБА се покреће након што се све одредбе " -"посла које\n" -" се јављају у АРГУМЕНТИМА замене ИБ-ом процеса тог вође групе процеса " -"посла.\n" +" Ако је достављено „-x“, НАРЕДБА се покреће након што се све одредбе посла које\n" +" се јављају у АРГУМЕНТИМА замене ИБ-ом процеса тог вође групе процеса посла.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако није дата неисправна опција или ако не " -"дође до грешке.\n" +" Даје позитиван резултат осим ако није дата неисправна опција или ако не дође до грешке.\n" " Ако се користи „-x“, даје излазно стање НАРЕДБЕ." #: builtins.c:897 -#, fuzzy msgid "" "Remove jobs from current shell.\n" " \n" @@ -3636,17 +3468,14 @@ msgstr "" " \n" " Опције:\n" " -a\tуклања све послове ако није достављена ОДРЕДБАПОСЛА\n" -" -h\tозначава сваку ОДРЕДБУПОСЛА тако да СИГНАЛГОРЕ није послат послу " -"ако\n" +" -h\tозначава сваку ОДРЕДБУПОСЛА тако да СИГНАЛГОРЕ није послат послу ако\n" " \t шкољка прими СИГНАЛГОРЕ\n" " -r\tуклања само покренуте послове\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако није дата неисправна опција или " -"ОДРЕДБАПОСЛА." +" Даје позитиван резултат осим ако није дата неисправна опција или ОДРЕДБАПОСЛА." #: builtins.c:916 -#, fuzzy msgid "" "Send a signal to a job.\n" " \n" @@ -3670,8 +3499,7 @@ msgstr "" "Шаље сигнал послу.\n" " \n" " Шаље процесима препознатих ПИБ-ом или ОДРЕДБОМПОСЛА сигнал именован\n" -" ОДРЕДБОМСИГНАЛА или БРОЈЕМСИГНАЛА. Ако није присутно ни " -"ОДРЕДБА_СИГНАЛА\n" +" ОДРЕДБОМСИГНАЛА или БРОЈЕМСИГНАЛА. Ако није присутно ни ОДРЕДБА_СИГНАЛА\n" " ни БРОЈ_СИГНАЛА, подразумева се ТЕРМ_СИГНАЛА.\n" " \n" " Опције:\n" @@ -3680,15 +3508,12 @@ msgstr "" " -l\tисписује називе сигнала; ако аргументи прате „-l“ подразумева\n" " \t се да су бројеви сигнала за које називи требају бити исписани\n" " \n" -" „Kill“ је уграђеност шкољке из два разлога: омогућава да ИБ-ови послова " -"буду\n" -" коришћени уместо ИБ-ова процеса, и омогућава убијање процеса ако је " -"достигнуто\n" +" „Kill“ је уграђеност шкољке из два разлога: омогућава да ИБ-ови послова буду\n" +" коришћени уместо ИБ-ова процеса, и омогућава убијање процеса ако је достигнуто\n" " ограничење процеса које можете да направите.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако није дата неисправна опција или ако не " -"дође до грешке." +" Даје позитиван резултат осим ако није дата неисправна опција или ако не дође до грешке." #: builtins.c:939 msgid "" @@ -3697,8 +3522,7 @@ msgid "" " Evaluate each ARG as an arithmetic expression. Evaluation is done in\n" " fixed-width integers with no check for overflow, though division by 0\n" " is trapped and flagged as an error. The following list of operators is\n" -" grouped into levels of equal-precedence operators. The levels are " -"listed\n" +" grouped into levels of equal-precedence operators. The levels are listed\n" " in order of decreasing precedence.\n" " \n" " \tid++, id--\tvariable post-increment, post-decrement\n" @@ -3775,21 +3599,17 @@ msgstr "" " Ако се последњи АРГ процени на 0, исписује 1; у супротном даје 0." #: builtins.c:984 -#, fuzzy msgid "" "Read a line from the standard input and split it into fields.\n" " \n" " Reads a single line from the standard input, or from file descriptor FD\n" -" if the -u option is supplied. The line is split into fields as with " -"word\n" +" if the -u option is supplied. The line is split into fields as with word\n" " splitting, and the first word is assigned to the first NAME, the second\n" " word to the second NAME, and so on, with any leftover words assigned to\n" -" the last NAME. Only the characters found in $IFS are recognized as " -"word\n" +" the last NAME. Only the characters found in $IFS are recognized as word\n" " delimiters.\n" " \n" -" If no NAMEs are supplied, the line read is stored in the REPLY " -"variable.\n" +" If no NAMEs are supplied, the line read is stored in the REPLY variable.\n" " \n" " Options:\n" " -a array\tassign the words read to sequential indices of the array\n" @@ -3801,8 +3621,7 @@ msgid "" " -n nchars\treturn after reading NCHARS characters rather than waiting\n" " \t\tfor a newline, but honor a delimiter if fewer than\n" " \t\tNCHARS characters are read before the delimiter\n" -" -N nchars\treturn only after reading exactly NCHARS characters, " -"unless\n" +" -N nchars\treturn only after reading exactly NCHARS characters, unless\n" " \t\tEOF is encountered or read times out, ignoring any\n" " \t\tdelimiter\n" " -p prompt\toutput the string PROMPT without a trailing newline before\n" @@ -3820,10 +3639,8 @@ msgid "" " -u fd\tread from file descriptor FD instead of the standard input\n" " \n" " Exit Status:\n" -" The return code is zero, unless end-of-file is encountered, read times " -"out\n" -" (in which case it's greater than 128), a variable assignment error " -"occurs,\n" +" The return code is zero, unless end-of-file is encountered, read times out\n" +" (in which case it's greater than 128), a variable assignment error occurs,\n" " or an invalid file descriptor is supplied as the argument to -u." msgstr "" "Чита ред са стандардног улаза и дели га на поља.\n" @@ -3834,8 +3651,7 @@ msgstr "" " и тако редом, са сваком наредном речју додељеном последњем НАЗИВУ.\n" " Само знаци пронађени у „$IFS“ се признају за граничнике речи.\n" " \n" -" Ако нису достављени НАЗИВИ, читани ред је смештен у променљивој " -"ОДГОВОР.\n" +" Ако нису достављени НАЗИВИ, читани ред је смештен у променљивој ОДГОВОР.\n" " \n" " Опције:\n" " -a низ\t додељује читање речи секвенцијалним индексима променљиве\n" @@ -3843,24 +3659,19 @@ msgstr "" " -d гран\t наставља све док се не прочита први знак ГРАНИЧНИКА,\n" " \t\t радије него нови ред\n" " -e\t користи читање реда да добије ред у међудејственој шкољци\n" -" -i текст\t Користи ТЕКСТ као почетни текст за читање реда\n" -" -n n-знака даје резултат након читања знакова N-ЗНАКОВА радије него " -"да\n" +" -i текст\t користи ТЕКСТ као почетни текст за читање реда\n" +" -n n-знака даје резултат након читања знакова N-ЗНАКОВА радије него да\n" " \t\t чека на нови ред, али поштује граничника ако је прочитано\n" " \t\t мање знакова од N-ЗНАКОВА пре граничника\n" -" -N n-знака даје резултат само након читања тачно знакова N-ЗНАКОВА, " -"осим\n" +" -N n-знака даје резултат само након читања тачно знакова N-ЗНАКОВА, осим\n" " \t\t ако не наиђе на крај датотеке или ако не истекне време читања,\n" " занемарујући све граничнике\n" -" -p упит\t исписује ниску УПИТ без пратећег новог реда пре покушаја " -"читања\n" +" -p упит\t исписује ниску УПИТ без пратећег новог реда пре покушаја читања\n" " -r\t не дозвољава контра косим цртама да преломе ниједан од знакова\n" " -s\t не оглашава улаз који долази са терминала\n" -" -t истек\t неуспех временског рока и давања резултата ако читав ред " -"улаза\n" +" -t истек\t неуспех временског рока и давања резултата ако читав ред улаза\n" " \t\t није прочитан за време од ВРЕМЕ_РОК секунде. Вредност променљиве\n" -" \t\t ВИСТЕКА је основни временски рок. ВРЕМЕНСКИ_РОК може бити " -"разломак.\n" +" \t\t ВИСТЕКА је основни временски рок. ВРЕМЕНСКИ_РОК може бити разломак.\n" " \t\t Ако је ВРЕМЕНСКИ_РОК 0, читање даје резултат одмах, без покушаја\n" " \t\t читања некох података, дајући позитиван резултат само ако је улаз\n" " \t\t доступан на наведеном описнику датотеке. Излазно стање је веће\n" @@ -3868,12 +3679,9 @@ msgstr "" " -u фд\t чита из описника датотеке ФД уместо са стандардног улаза\n" " \n" " Излазно стање:\n" -" Резултат је нула, осим ако се не наиђе на крај датотеке, не истекне " -"време\n" -" читања (у том случају је већи од 128), ако не дође до грешке доделе " -"променљиве,\n" -" или ако се не достави неисправан описник датотеке као аргумент опције „-" -"u“." +" Резултат је нула, осим ако се не наиђе на крај датотеке, не истекне време\n" +" читања (у том случају је већи од 128), ако не дође до грешке доделе променљиве,\n" +" или ако се не достави неисправан описник датотеке као аргумент опције „-u“." #: builtins.c:1031 msgid "" @@ -3938,8 +3746,7 @@ msgid "" " 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" +" or zero if no command exited with a non-zero status\n" " posix change the behavior of bash where the default\n" " operation differs from the Posix standard to\n" " match the standard\n" @@ -4018,24 +3825,18 @@ msgstr "" " nounset исто као -u\n" " onecmd исто као -t\n" " physical исто као -P\n" -" pipefail вредност резултата спојнице јесте стање последње " -"наредбе\n" -" за прекид са не-нултим стањем, или са нулом ако " -"ниједна\n" +" pipefail вредност резултата спојнице јесте стање последње наредбе\n" +" за прекид са не-нултим стањем, или са нулом ако ниједна\n" " наредба није завршила са не-нултим стањем\n" -" posix мења понашање баша где се основна радња " -"разликује\n" +" posix мења понашање баша где се основна радња разликује\n" " од стандарда Посикса да би одговарала стандарду\n" " privileged исто као -p\n" " verbose исто као -v\n" " vi користи сучеље уређивања реда у стилу вија\n" " xtrace исто као -x\n" -" -p Укључено кад год се ибови стварног и ефективног корисника не " -"подударају.\n" -" Искључује обраду датотеке „$ENV“ и увоз функција шкољке. " -"Искључивање ове\n" -" опције доводи до тога да ефективни јиб и гиб буду подешени на " -"стварни\n" +" -p Укључено кад год се ибови стварног и ефективног корисника не подударају.\n" +" Искључује обраду датотеке „$ENV“ и увоз функција шкољке. Искључивање ове\n" +" опције доводи до тога да ефективни јиб и гиб буду подешени на стварни\n" " јиб и гиб.\n" " -t Излази након читања и извршавања једне наредбе.\n" " -u Сматра променљиве расподешавања за грешку приликом замењивања.\n" @@ -4049,8 +3850,7 @@ msgstr "" " по основи када је шкољка међудејствена.\n" " -P Ако је подешено, не решава симболичке везе приликом извршавања\n" " наредби као што је „cd“ која мења текући директоријум.\n" -" -T Ако је подешено, хватање ПРОЧИШЋАВАЊА се наслеђује функцијама " -"шкољке.\n" +" -T Ако је подешено, хватање ПРОЧИШЋАВАЊА се наслеђује функцијама шкољке.\n" " -- Додељује све преостале аргументе положајним параметрима.\n" " Ако нема преосталих аргумената, положајни параметри се\n" " расподешавају.\n" @@ -4067,7 +3867,6 @@ msgstr "" " Даје позитиван резултат осим ако није дата неисправна опција." #: builtins.c:1129 -#, fuzzy msgid "" "Unset values and attributes of shell variables and functions.\n" " \n" @@ -4079,8 +3878,7 @@ msgid "" " -n\ttreat each NAME as a name reference and unset the variable itself\n" " \t\trather than the variable it references\n" " \n" -" Without options, unset first tries to unset a variable, and if that " -"fails,\n" +" Without options, unset first tries to unset a variable, and if that fails,\n" " tries to unset a function.\n" " \n" " Some variables cannot be unset; also see `readonly'.\n" @@ -4098,23 +3896,20 @@ msgstr "" " -n\tсматра сваки НАЗИВ као упуту назива и расподешава\n" " \t саму променљиву радије него упуте променљиве\n" " \n" -" Без опција, „unset“ прво покушава да расподеси променљиву, а ако то не " -"успе,\n" +" Без опција, „unset“ прво покушава да расподеси променљиву, а ако то не успе,\n" " покушава да расподеси функцију.\n" " \n" " Неке променљиве не могу бити расподешене; видите такође „readonly“.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако није дата неисправна опција или ако је " -"НАЗИВ само за читање." +" Даје позитиван резултат осим ако није дата неисправна опција или ако је НАЗИВ само за читање." #: builtins.c:1151 msgid "" "Set export attribute for shell variables.\n" " \n" " Marks each NAME for automatic export to the environment of subsequently\n" -" executed commands. If VALUE is supplied, assign VALUE before " -"exporting.\n" +" executed commands. If VALUE is supplied, assign VALUE before exporting.\n" " \n" " Options:\n" " -f\trefer to shell functions\n" @@ -4139,11 +3934,9 @@ msgstr "" " Аргумент „--“ искључује даљу обраду опције.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако је дата неисправна опција или је НАЗИВ " -"неисправан." +" Даје позитиван резултат осим ако је дата неисправна опција или је НАЗИВ неисправан." #: builtins.c:1170 -#, fuzzy msgid "" "Mark shell variables as unchangeable.\n" " \n" @@ -4165,25 +3958,21 @@ msgid "" msgstr "" "Означава променљиве шкољке непроменљивим.\n" " \n" -" Означава сваки НАЗИВ као само за читање; вредности тих НАЗИВА не могу " -"бити\n" -" измењене подсеквенционалним додељивањем. Ако је достављена ВРЕДНОСТ, " -"додељује\n" +" Означава сваки НАЗИВ као само за читање; вредности тих НАЗИВА не могу бити\n" +" измењене подсеквенционалним додељивањем. Ако је достављена ВРЕДНОСТ, додељује\n" " ВРЕДНОСТ пре него ли јеозначи само за читање.\n" " \n" " Опције:\n" " -a\tупућује на променљиве пописивог низа\n" " -A\tупућује на променљиве придруживог низа\n" " -f\tупућује на функције шкољке\n" -" -p\tприказује списак свих променљивих и функција само за читање, " -"зависно\n" +" -p\tприказује списак свих променљивих и функција само за читање, зависно\n" " од тога да ли је опција „-f“ дата или није\n" " \n" " Аргумент „--“ искључује даље обрађивање опције.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако није дата неисправна опција или ако је " -"НАЗИВ неисправан." +" Даје позитиван резултат осим ако није дата неисправна опција или ако је НАЗИВ неисправан." #: builtins.c:1192 msgid "" @@ -4249,11 +4038,9 @@ msgstr "" " -f\tприморава обустављање, чак и ако је шкољка пријављивања\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако није укључено управљање послом или ако " -"не дође до грешке." +" Даје позитиван резултат осим ако није укључено управљање послом или ако не дође до грешке." #: builtins.c:1251 -#, fuzzy msgid "" "Evaluate conditional expression.\n" " \n" @@ -4287,8 +4074,7 @@ msgid "" " -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 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" @@ -4309,8 +4095,7 @@ msgid "" " STRING1 != STRING2\n" " True if the strings are not equal.\n" " STRING1 < STRING2\n" -" True if STRING1 sorts before STRING2 " -"lexicographically.\n" +" True if STRING1 sorts before STRING2 lexicographically.\n" " STRING1 > STRING2\n" " True if STRING1 sorts after STRING2 lexicographically.\n" " \n" @@ -4352,8 +4137,7 @@ msgstr "" " -c ДАТОТЕКА Тачно ако је датотека посебног знака.\n" " -d ДАТОТЕКА Тачно ако је датотека директоријум.\n" " -e ДАТОТЕКА Тачно ако датотека постоји.\n" -" -f ДАТОТЕКА Тачно ако датотека постоји и ако је обична " -"датотека.\n" +" -f ДАТОТЕКА Тачно ако датотека постоји и ако је обична датотека.\n" " -g ДАТОТЕКА Тачно ако је датотека подеси-иб-групе.\n" " -h ДАТОТЕКА Тачно ако је датотека симболичка веза.\n" " -L ДАТОТЕКА Тачно ако је датотека симболичка веза.\n" @@ -4367,18 +4151,14 @@ msgstr "" " -w ДАТОТЕКА Тачно ако у датотеку можете ви да пишете.\n" " -x ДАТОТЕКА Тачно ако датотеку можете ви да извршите.\n" " -O ДАТОТЕКА Тачно ако је датотека заправо у вашем власништву.\n" -" -G ДАТОТЕКА Тачно ако је датотека заправо у власништву ваше " -"групе.\n" -" -N ДАТОТЕКА Тачно ако је датотека измењена након последњег " -"читања.\n" +" -G ДАТОТЕКА Тачно ако је датотека заправо у власништву ваше групе.\n" +" -N ДАТОТЕКА Тачно ако је датотека измењена након последњег читања.\n" " \n" -" ДАТОТЕКА1 -nt ДАТОТЕКА2 Тачно ако је датотека1 новија од датотеке2 " -"(према датуму измене).\n" +" ДАТОТЕКА1 -nt ДАТОТЕКА2 Тачно ако је датотека1 новија од датотеке2 (према датуму измене).\n" " \n" " ДАТОТЕКА1 -ot ДАТОТЕКА2 Тачно ако је датотека1 старија од датотеке2.\n" " \n" -" ДАТОТЕКА1 -ef ДАТОТЕКА2 Тачно ако је датотека1 чврста веза до " -"датотеке2.\n" +" ДАТОТЕКА1 -ef ДАТОТЕКА2 Тачно ако је датотека1 чврста веза до датотеке2.\n" " \n" " Оператори ниске:\n" " \n" @@ -4389,32 +4169,26 @@ msgstr "" " \n" " НИСКА1 = НИСКА2 Тачно ако су ниске једнаке.\n" " НИСКА1 != НИСКА2 Тачно ако ниске нису једнаке.\n" -" НИСКА1 < НИСКА2 Тачно ако НИСКА1 долази пре НИСКЕ2 " -"лексикографски.\n" -" НИСКА1 > НИСКА2 Тачно ако НИСКА1 долази после НИСКЕ2 " -"лексикографски.\n" +" НИСКА1 < НИСКА2 Тачно ако НИСКА1 долази пре НИСКЕ2 лексикографски.\n" +" НИСКА1 > НИСКА2 Тачно ако НИСКА1 долази после НИСКЕ2 лексикографски.\n" " \n" " Остали оператори:\n" " \n" " -o ОПЦИЈА Тачно ако је опција шкољке ОПЦИЈА укључена.\n" -" -v ПРОМ\t Тачно ако је променљива шкољке ПРОМ подешена\n" -" -R ПРОМ\t Тачно ако је променљива шкољке ПРОМ подешена и ако " -"је упута назива.\n" +" -v ПРОМ Тачно ако је променљива шкољке ПРОМ подешена\n" +" -R ПРОМ Тачно ако је променљива шкољке ПРОМ подешена и ако је упута назива.\n" " ! ИЗРАЗ Тачно ако је израз нетачан.\n" " ИЗРАЗ1 -a ИЗРАЗ2 Тачно ако је тачан и израз1 И израз2.\n" " ИЗРАЗ1 -o ИЗРАЗ2 Тачно ако је тачан или израз1 ИЛИ израз2.\n" " \n" -" арг1 ОП арг2 Аритметичка проба. ОП је једно од следећег: -eq, -" -"ne,\n" +" арг1 ОП арг2 Аритметичка проба. ОП је једно од следећег: -eq, -ne,\n" " -lt, -le, -gt, or -ge.\n" " \n" -" Аритметички двочлани оператори дају тачно ако је АРГ1 једнак, није-" -"једнак,\n" +" Аритметички двочлани оператори дају тачно ако је АРГ1 једнак, није-једнак,\n" " мањи-од, мањи-од-или-једнак, већи-од, или већи-од-или-једнак са АРГ2.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат ако се ИЗРАЗ процени на тачно; неуспех ако се " -"ИЗРАЗ процени\n" +" Даје позитиван резултат ако се ИЗРАЗ процени на тачно; неуспех ако се ИЗРАЗ процени\n" " на нетачно или ако је дат неисправан аргумент." #: builtins.c:1333 @@ -4433,8 +4207,7 @@ msgstr "" msgid "" "Display process times.\n" " \n" -" Prints the accumulated user and system times for the shell and all of " -"its\n" +" Prints the accumulated user and system times for the shell and all of its\n" " child processes.\n" " \n" " Exit Status:\n" @@ -4452,8 +4225,7 @@ msgstr "" msgid "" "Trap signals and other events.\n" " \n" -" Defines and activates handlers to be run when the shell receives " -"signals\n" +" Defines and activates handlers to be run when the shell receives signals\n" " or other conditions.\n" " \n" " ARG is a command to be read and executed when the shell receives the\n" @@ -4462,34 +4234,26 @@ msgid "" " value. If ARG is the null string each SIGNAL_SPEC is ignored by the\n" " shell and by the commands it invokes.\n" " \n" -" If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell. " -"If\n" -" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. " -"If\n" -" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or " -"a\n" -" script run by the . or source builtins finishes executing. A " -"SIGNAL_SPEC\n" -" of ERR means to execute ARG each time a command's failure would cause " -"the\n" +" If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell. If\n" +" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. If\n" +" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a\n" +" script run by the . or source builtins finishes executing. A SIGNAL_SPEC\n" +" of ERR means to execute ARG each time a command's failure would cause the\n" " shell to exit when the -e option is enabled.\n" " \n" -" If no arguments are supplied, trap prints the list of commands " -"associated\n" +" If no arguments are supplied, trap prints the list of commands associated\n" " with each signal.\n" " \n" " Options:\n" " -l\tprint a list of signal names and their corresponding numbers\n" " -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n" " \n" -" Each SIGNAL_SPEC is either a signal name in or a signal " -"number.\n" +" Each SIGNAL_SPEC is either a signal name in or a signal number.\n" " Signal names are case insensitive and the SIG prefix is optional. A\n" " signal may be sent to the shell with \"kill -signal $$\".\n" " \n" " Exit Status:\n" -" Returns success unless a SIGSPEC is invalid or an invalid option is " -"given." +" Returns success unless a SIGSPEC is invalid or an invalid option is given." msgstr "" "Хвата сигнале и друге догађаје.\n" " \n" @@ -4499,40 +4263,31 @@ msgstr "" " АРГ је наредба за читање и извршавање када шкољка прими ОДРЕДБУ_СИГНАЛА\n" " сигнала. Ако АРГ недостаје (а достављена је једна ОДРЕДБА_СИГНАЛА) или\n" " „-“, сваки наведени сигнал се враћа на првобитну вредност. Ако је АРГ\n" -" ништавна ниска свака ОДРЕДБА_СИГНАЛА се занемарује од стране шкољке и " -"од\n" +" ништавна ниска свака ОДРЕДБА_СИГНАЛА се занемарује од стране шкољке и од\n" " наредби које призива.\n" " \n" " Ако је ОДРЕДБА_СИГНАЛА ИЗАЂИ (0) АРГ се извршава при изласку из шкољке.\n" " Ако је ОДРЕДБА_СИГНАЛА ПРОЧИСТИ, АРГ се извршава пре сваке једноставне\n" -" наредбе. Ако је ОДРЕДБА_СИГНАЛА ВРАТИ, АРГ се извршава сваки пут када " -"се\n" -" заврши извршавање функције шкољке или списа покренутих . или " -"уграђености\n" -" извора. ОДРЕДБА_СИГНАЛА или ГРЕШКА значи извршавање АРГ-а сваки пут " -"када\n" -" би неуспех наредбе довео до изласка шкољке када је укључена опција „-" -"e“.\n" +" наредбе. Ако је ОДРЕДБА_СИГНАЛА ВРАТИ, АРГ се извршава сваки пут када се\n" +" заврши извршавање функције шкољке или списа покренутих . или уграђености\n" +" извора. ОДРЕДБА_СИГНАЛА или ГРЕШКА значи извршавање АРГ-а сваки пут када\n" +" би неуспех наредбе довео до изласка шкољке када је укључена опција „-e“.\n" " \n" -" Ако нису достављени аргументи, „trap“ исписује списак наредби " -"придружених\n" +" Ако нису достављени аргументи, „trap“ исписује списак наредби придружених\n" " сваком сигналу.\n" " \n" " Опције:\n" " -l\tисписује списак назива сигнала и њихових одговарајућих бројева\n" " -p\tприказује наредбе хватања придружене свакој ОДРЕДБИ_СИГНАЛА\n" " \n" -" Свака ОДРЕДБА_СИГНАЛА је или назив сигнала у или број " -"сигнала.\n" +" Свака ОДРЕДБА_СИГНАЛА је или назив сигнала у или број сигнала.\n" " Називи сигнала нису осетљиви на величину слова а префикс СИГ је опција.\n" " Сигнал може бити послат шкољци помоћу „kill -signal $$“.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим за неисправну ОДРЕДБА_СИГНАЛА или за " -"неисправну опцију." +" Даје позитиван резултат осим за неисправну ОДРЕДБА_СИГНАЛА или за неисправну опцију." #: builtins.c:1390 -#, fuzzy msgid "" "Display information about command type.\n" " \n" @@ -4558,8 +4313,7 @@ msgid "" " NAME\tCommand name to be interpreted.\n" " \n" " Exit Status:\n" -" Returns success if all of the NAMEs are found; fails if any are not " -"found." +" Returns success if all of the NAMEs are found; fails if any are not found." msgstr "" "Приказује податке о врсти наредбе.\n" " \n" @@ -4571,34 +4325,27 @@ msgstr "" " \t укључује псеудониме, уграђености, и функције, ако и само ако\n" " \t опција „-p“ није такође коришћена\n" " -f\tпотискује тражење функције шкољке\n" -" -P\tприморава претрагу ПУТАЊЕ за сваким НАЗИВОМ, чак и ако је " -"псеудоним,\n" -" \t уграђеност, или функција, и враћа назив датотеке диска која ће " -"бити\n" +" -P\tприморава претрагу ПУТАЊЕ за сваким НАЗИВОМ, чак и ако је псеудоним,\n" +" \t уграђеност, или функција, и враћа назив датотеке диска која ће бити\n" " \t извршена\n" " -p\tдаје или назив датотеке диска која ће бити извршена, или ништа\n" " \t ако „type -t НАЗИВ“ неће дати „датотеку“.\n" " -t\tисписује једну реч која је једна од следећих: „alias“, „keyword“,\n" -" \t „function“, „builtin“, „file“ или „“, ако је НАЗИВ псеудоним, " -"реч\n" -" \t резервисана шкољком, функција шкољке, уграђеност шкољке, " -"датотека диска,\n" +" \t „function“, „builtin“, „file“ или „“, ако је НАЗИВ псеудоним, реч\n" +" \t резервисана шкољком, функција шкољке, уграђеност шкољке, датотека диска,\n" " или ако није пронађена\n" " \n" " Аргументи:\n" " НАЗИВ\tНазив наредбе за тумачење.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат ако су пронађени сви НАЗИВИ; неуспех ако ниједан " -"није пронађен." +" Даје позитиван резултат ако су пронађени сви НАЗИВИ; неуспех ако ниједан није пронађен." #: builtins.c:1421 -#, fuzzy msgid "" "Modify shell resource limits.\n" " \n" -" Provides control over the resources available to the shell and " -"processes\n" +" Provides control over the resources available to the shell and processes\n" " it creates, on systems that allow such control.\n" " \n" " Options:\n" @@ -4656,6 +4403,7 @@ msgstr "" " -e\tнајвећа хитност заказивања („фино“)\n" " -f\tнајвећа величина датотеке коју запише шкољка и њен пород\n" " -i\tнајвећи број сигнала на чекању\n" +" -k\tнајвећи број к-чекања додељених овом процесу\n" " -l\tнајвећа величина коју процес може да закључа у меморији\n" " -m\tнајвећа величина боравишног скупа\n" " -n\tнајвећи број отворених описника датотеке\n" @@ -4667,7 +4415,8 @@ msgstr "" " -u\tнајвећи број корисничких процеса\n" " -v\tвеличина виртуелне меморије\n" " -x\tнајвећи број закључавања датотеке\n" -" -T највећи број нити\n" +" -P\tнајвећи број псеудотерминала\n" +" -T\tнајвећи број нити\n" " \n" " Нису све опције доступне на свим платформама.\n" " \n" @@ -4677,14 +4426,12 @@ msgstr "" " У супротном, тренутна вредност наведеног изворишта се исписује. Ако\n" " није дата ниједна опција, онда се подразумева „-f“.\n" " \n" -" Вредности су у 1024-битном повећавању, изузев за „-t“ која је у " -"секундама,\n" +" Вредности су у 1024-битном повећавању, изузев за „-t“ која је у секундама,\n" " „-p“ која се повећава за 512 бајта, и „-u“ која је произвољан број\n" " процеса.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако се не достави неисправна опција или ако " -"не дође до грешке." +" Даје позитиван резултат осим ако се не достави неисправна опција или ако не дође до грешке." #: builtins.c:1471 msgid "" @@ -4712,24 +4459,20 @@ msgstr "" " симболичка ниска режима као она коју прихвата „chmod(1)“.\n" " \n" " Опције:\n" -" -p\tако је РЕЖИМ изостављен, исписује у облику који може бити поново " -"коришћен као улаз\n" +" -p\tако је РЕЖИМ изостављен, исписује у облику који може бити поново коришћен као улаз\n" " -S\tчини излаз симболичким; у супротном излаз је октални број\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако је РЕЖИМ неисправан или ако је дата " -"неисправна опција." +" Даје позитиван резултат осим ако је РЕЖИМ неисправан или ако је дата неисправна опција." #: builtins.c:1491 msgid "" "Wait for job completion and return exit status.\n" " \n" -" Waits for each process identified by an ID, which may be a process ID or " -"a\n" +" Waits for each process identified by an ID, which may be a process ID or a\n" " job specification, and reports its termination status. If ID is not\n" " given, waits for all currently active child processes, and the return\n" -" status is zero. If ID is a a job specification, waits for all " -"processes\n" +" status is zero. If ID is a a job specification, waits for all processes\n" " in that job's pipeline.\n" " \n" " If the -n option is supplied, waits for the next job to terminate and\n" @@ -4757,27 +4500,22 @@ msgstr "" msgid "" "Wait for process completion and return exit status.\n" " \n" -" Waits for each process specified by a PID and reports its termination " -"status.\n" +" Waits for each process specified by a PID and reports its termination status.\n" " If PID is not given, waits for all currently active child processes,\n" " and the return status is zero. PID must be a process ID.\n" " \n" " Exit Status:\n" -" Returns the status of the last PID; fails if PID is invalid or an " -"invalid\n" +" Returns the status of the last PID; fails if PID is invalid or an invalid\n" " option is given." msgstr "" "Чека на довршавање процеса и даје излазно стање.\n" " \n" -" Чека на сваки процес наведен ПИБ-ом и извештава о његовом излазном " -"стању.\n" -" Ако ПИБ ниије дат, чека на све тренутно радне потпроцесе, а враћено " -"стање\n" +" Чека на сваки процес наведен ПИБ-ом и извештава о његовом излазном стању.\n" +" Ако ПИБ ниије дат, чека на све тренутно радне потпроцесе, а враћено стање\n" " је нула. ПИБ мора бити ИБ процеса.\n" " \n" " Излазно стање:\n" -" Исписује стање последњег ПИБ-а; неуспех ако је ПИБ неисправан или ако је " -"дата\n" +" Исписује стање последњег ПИБ-а; неуспех ако је ПИБ неисправан или ако је дата\n" " неисправна опција." #: builtins.c:1527 @@ -4826,8 +4564,7 @@ msgstr "" " \t\tНАРЕДБЕ\n" " \t\t(( ИЗРАЗ3 ))\n" " \tdone\n" -" ИЗРАЗ1, ИЗРАЗ2, и ИЗРАЗ3 јесу аритметички изрази. Ако је изостављен " -"неки израз,\n" +" ИЗРАЗ1, ИЗРАЗ2, и ИЗРАЗ3 јесу аритметички изрази. Ако је изостављен неки израз,\n" " понаша се као да се процењује на 1.\n" " \n" " Излазно стање:\n" @@ -4908,10 +4645,10 @@ msgid "" " Exit Status:\n" " Returns the status of the last command executed." msgstr "" -"Execute commands based on pattern matching.\n" +"Извршава наредбе на основу поклапања шаблона.\n" " \n" -" Selectively execute COMMANDS based upon WORD matching PATTERN. The\n" -" `|' is used to separate multiple patterns.\n" +" Изборно извршава НАРЕДБЕ на основу РЕЧИ која поклапа ШАБЛОН.\n" +" | се користи за раздвајање више шаблона.\n" " \n" " Излазно стање:\n" " Исписује стање последње извршене наредбе." @@ -4920,17 +4657,12 @@ msgstr "" msgid "" "Execute commands based on conditional.\n" " \n" -" The `if COMMANDS' list is executed. If its exit status is zero, then " -"the\n" -" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list " -"is\n" +" 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" +" `then COMMANDS' list is executed and the if command completes. Otherwise,\n" +" the `else COMMANDS' list is executed, if present. The exit status of the\n" +" entire construct is the exit status of the last command executed, or zero\n" " if no condition tested true.\n" " \n" " Exit Status:\n" @@ -4938,18 +4670,12 @@ msgid "" msgstr "" "Извршава наредбе на основу условности.\n" " \n" -" Извршава се списак „if НАРЕДБЕ“. Ако је његово излазно стање нула, тада " -"се\n" -" извршава списак „then НАРЕДБЕ“. У супротном, сваки списак „elif " -"НАРЕДБЕ“\n" -" се извршава на смену, и ако је његово излазно стање нула, одговарајући " -"списак\n" -" „then НАРЕДБЕ“ се извршава и наредба „if“ се завршава. У супротном, " -"извршава\n" -" се списак „else НАРЕДБЕ“, ако постоји. Излазно стање читаве " -"конструкције је\n" -" излазно стање последње извршене наредбе, или нула ако нема испробаног " -"услова.\n" +" Извршава се списак „if НАРЕДБЕ“. Ако је његово излазно стање нула, тада се\n" +" извршава списак „then НАРЕДБЕ“. У супротном, сваки списак „elif НАРЕДБЕ“\n" +" се извршава на смену, и ако је његово излазно стање нула, одговарајући списак\n" +" „then НАРЕДБЕ“ се извршава и наредба „if“ се завршава. У супротном, извршава\n" +" се списак „else НАРЕДБЕ“, ако постоји. Излазно стање читаве конструкције је\n" +" излазно стање последње извршене наредбе, или нула ако нема испробаног услова.\n" " \n" " Излазно стање:\n" " Исписује стање последње извршене наредбе." @@ -5017,8 +4743,7 @@ msgid "" "Define shell function.\n" " \n" " Create a shell function named NAME. When invoked as a simple command,\n" -" NAME runs COMMANDs in the calling shell's context. When NAME is " -"invoked,\n" +" NAME runs COMMANDs in the calling shell's context. When NAME is invoked,\n" " the arguments are passed to the function as $1...$n, and the function's\n" " name is in $FUNCNAME.\n" " \n" @@ -5027,12 +4752,9 @@ msgid "" msgstr "" "Одређује функцију шкољке.\n" " \n" -" Ствара функцију шкољке под називом НАЗИВ. Када се призове као једна " -"наредба,\n" -" НАЗИВ покреће НАРЕДБЕ у контексту шкољке позивања. Када се призове " -"НАЗИВ,\n" -" аргументи се прослеђују функцији као $1...$n, а назив функције се налази " -"у\n" +" Ствара функцију шкољке под називом НАЗИВ. Када се призове као једна наредба,\n" +" НАЗИВ покреће НАРЕДБЕ у контексту шкољке позивања. Када се призове НАЗИВ,\n" +" аргументи се прослеђују функцији као $1...$n, а назив функције се налази у\n" " $НАЗИВУ_ФУНКЦИЈЕ.\n" " \n" " Излазно стање:\n" @@ -5072,8 +4794,7 @@ msgstr "" "Наставља посао у првом плану.\n" " \n" " Исто као и аргумент ОДРЕДБА_ПОСЛА у наредби „fg“. Наставља заустављени\n" -" или посао у позадини. ОДРЕДБА_ПОСЛА може да наведе назив посла или " -"број\n" +" или посао у позадини. ОДРЕДБА_ПОСЛА може да наведе назив посла или број\n" " посла. Пропративши ОДРЕДБУ_ПОСЛА са & поставља посао у позадину, као\n" " да је одредба посла достављена као аргумент уз „bg“.\n" " \n" @@ -5102,12 +4823,9 @@ msgstr "" msgid "" "Execute conditional command.\n" " \n" -" Returns a status of 0 or 1 depending on the evaluation of the " -"conditional\n" -" expression EXPRESSION. Expressions are composed of the same primaries " -"used\n" -" by the `test' builtin, and may be combined using the following " -"operators:\n" +" Returns a status of 0 or 1 depending on the evaluation of the conditional\n" +" expression EXPRESSION. Expressions are composed of the same primaries used\n" +" by the `test' builtin, and may be combined using the following operators:\n" " \n" " ( EXPRESSION )\tReturns the value of EXPRESSION\n" " ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n" @@ -5133,19 +4851,15 @@ msgstr "" " \n" " ( ИЗРАЗ )\t Даје вредност ИЗРАЗА\n" " ! ИЗРАЗ\t\tТачно ако је ИЗРАЗ нетачан; у супротном нетачно\n" -" ИЗРАЗ1 && ИЗРАЗ2\tТачно ако су и ИЗРАЗ1 и ИЗРАЗ2 тачни; у супротном " -"нетачно\n" -" ИЗРАЗ1 || ИЗРАЗ2\tТачно ако је или ИЗРАЗ1 или ИЗРАЗ2 тачан; у " -"супротном нетачно\n" +" ИЗРАЗ1 && ИЗРАЗ2\tТачно ако су и ИЗРАЗ1 и ИЗРАЗ2 тачни; у супротном нетачно\n" +" ИЗРАЗ1 || ИЗРАЗ2\tТачно ако је или ИЗРАЗ1 или ИЗРАЗ2 тачан; у супротном нетачно\n" " \n" " КАда се користе оператори „==“ и „!=“, ниска са десне стране оператора\n" -" се користи као шаблон а поређење са шаблоном се обавља. Када се " -"користи\n" +" се користи као шаблон а поређење са шаблоном се обавља. Када се користи\n" " оператор „=~“, ниска са десне стране оператора се поклапа као регуларни\n" " израз.\n" " \n" -" Оператори && и || не процењују ИЗРАЗ2 ако је ИЗРАЗ1 довољан за " -"одређивање\n" +" Оператори && и || не процењују ИЗРАЗ2 ако је ИЗРАЗ1 довољан за одређивање\n" " вредности израза.\n" " \n" " Излазно стање:\n" @@ -5209,39 +4923,26 @@ msgstr "" " ИЗДАЊЕ_БАША Подаци о издању за овај Баш.\n" " ЦДПУТАЊА Списак директоријума раздвојен двотачком за тражење\n" " директоријума који су дати као аргументи за „cd“.\n" -" ОПШТЕЗАНЕМАРИ Списак шаблона раздвојен двотачком који описује " -"називе\n" -" датотека који ће бити занемарени ширењем назива " -"путање.\n" -" ИСТОРИОТЕКА Назив датотеке у којој је смештен историјат " -"наредби.\n" -" ВЕЛИЧИНАИСТОРИОТЕКЕ Највећи број редова које може да садржи ова " -"датотека.\n" +" ОПШТЕЗАНЕМАРИ Списак шаблона раздвојен двотачком који описује називе\n" +" датотека који ће бити занемарени ширењем назива путање.\n" +" ИСТОРИОТЕКА Назив датотеке у којој је смештен историјат наредби.\n" +" ВЕЛИЧИНАИСТОРИОТЕКЕ Највећи број редова које може да садржи ова датотека.\n" " ВЕЛИЧИНАИСТОРИЈАТА Највећи број редова историјата којима покренута\n" " шкољка може да приступи.\n" " ЛИЧНО Потпуна путања до вашег директоријума пријављивања.\n" " НАЗИВДОМАЋИНА Назив текућег домаћина.\n" " ВРСТАДОМАЋИНА Врста процесора под којим ради ово издање Баша.\n" -" ЗАНЕМАРИКРД Управља радњом шкољке при пријему знака за крај " -"датотеке\n" -" само као улаза. Ако је подешено, онда је његова " -"вредност\n" -" број знакова КРД-а који могу бити виђени у реду " -"празног\n" -" реда пре него ли шкољка изађе (основно је 10). " -"Када\n" +" ЗАНЕМАРИКРД Управља радњом шкољке при пријему знака за крај датотеке\n" +" само као улаза. Ако је подешено, онда је његова вредност\n" +" број знакова КРД-а који могу бити виђени у реду празног\n" +" реда пре него ли шкољка изађе (основно је 10). Када\n" " није подешено, КРД значи крај улаза.\n" -" ВРСТАМАШИНЕ Ниска која описује текући систем на коме је Баш " -"покренут.\n" -" ПРОВЕРАПОШТЕ Колико често, у секундама, Баш првоерава нову " -"пошту.\n" -" ПУТАЊАПОШТЕ Списак датотека раздвојен двотачком које Баш " -"проверава\n" +" ВРСТАМАШИНЕ Ниска која описује текући систем на коме је Баш покренут.\n" +" ПРОВЕРАПОШТЕ Колико често, у секундама, Баш првоерава нову пошту.\n" +" ПУТАЊАПОШТЕ Списак датотека раздвојен двотачком које Баш проверава\n" " за новом поштом.\n" -" ВРСТАОСА Издање Јуникса на коме је покренуто ово издање " -"Баша.\n" -" ПУТАЊА Списак директоријума раздвојен двотачком за " -"претрагу\n" +" ВРСТАОСА Издање Јуникса на коме је покренуто ово издање Баша.\n" +" ПУТАЊА Списак директоријума раздвојен двотачком за претрагу\n" " приликом тражења наредби.\n" " НАРЕДБА_УПИТА Наредба која ће бити извршена пре исписивања сваког\n" " главног упита.\n" @@ -5252,35 +4953,22 @@ msgstr "" " ТЕРМИНАЛ Назив врсте текућег терминала.\n" " ЗАПИСВРЕМЕНА Излазни запис за статистике времена које приказује\n" " резервисана реч „time“.\n" -" сам_настави Не-ништа значи да је реч наредбе која се појављује " -"на реду\n" -" сама по себи прва тражена на списку тренутно " -"заустављених\n" -" послова. Ако се ту пронађе, тај посао се поставља у " -"први\n" -" план. Вредност „exact“ значи да реч наредбе мора " -"тачно да\n" -" одговара наредби на списку заустављених послова. " -"Вредност\n" -" „substring“ значи да реч наредбе мора да одговара " -"поднисци\n" -" посла. Свака друга вредност значи да наредба мора " -"бити\n" +" сам_настави Не-ништа значи да је реч наредбе која се појављује на реду\n" +" сама по себи прва тражена на списку тренутно заустављених\n" +" послова. Ако се ту пронађе, тај посао се поставља у први\n" +" план. Вредност „exact“ значи да реч наредбе мора тачно да\n" +" одговара наредби на списку заустављених послова. Вредност\n" +" „substring“ значи да реч наредбе мора да одговара поднисци\n" +" посла. Свака друга вредност значи да наредба мора бити\n" " префикс заустављеног посла.\n" -" знакисторијата Знаци који управљају ширењем историјата и брзом " -"заменом.\n" -" Први знак јесте знак замене историјата, обично је то " -"„!“.\n" -" Други јесте знак „брзе замене“, обично је то „^“. " -"Трећи\n" +" знакисторијата Знаци који управљају ширењем историјата и брзом заменом.\n" +" Први знак јесте знак замене историјата, обично је то „!“.\n" +" Други јесте знак „брзе замене“, обично је то „^“. Трећи\n" " јесте знак „напомене историјата“, обично је то „#“.\n" -" ЗАНЕМАРИИСТОРИЈАТ Списак шаблона раздвојен двотачком коришћених за " -"одлучивање\n" -" о наредбама које требају бити сачуване на списку " -"историјата.\n" +" ЗАНЕМАРИИСТОРИЈАТ Списак шаблона раздвојен двотачком коришћених за одлучивање\n" +" о наредбама које требају бити сачуване на списку историјата.\n" #: builtins.c:1800 -#, fuzzy msgid "" "Add directories to stack.\n" " \n" @@ -5322,12 +5010,10 @@ msgstr "" " \n" " Аргументи:\n" " +N\tОкреће спремник тако да је N-ти директоријум на врху (бројећи\n" -" са леве стране списка кога приказује „dirs“, почевши од " -"нуле).\n" +" са леве стране списка кога приказује „dirs“, почевши од нуле).\n" " \n" " -N\tОкреће спремник тако да је N-ти директоријум на врху (бројећи\n" -" са десне стране списка кога приказује „dirs“, почевши од " -"нуле).\n" +" са десне стране списка кога приказује „dirs“, почевши од нуле).\n" " \n" " dir\tДодајеs ДИР у спремник директоријума на врху, учинивши га новим\n" " \t текућим радним директоријумом.\n" @@ -5335,12 +5021,10 @@ msgstr "" " Уграђеност „dirs“ приказује спремник директоријума.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако није достављен неисправан аргумент или " -"замена\n" +" Даје позитиван резултат осим ако није достављен неисправан аргумент или замена\n" " директоријума не успе." #: builtins.c:1834 -#, fuzzy msgid "" "Remove directories from stack.\n" " \n" @@ -5373,8 +5057,7 @@ msgstr "" " \n" " Опције:\n" " -n\tПотискује уобичајену замену директоријума приликом уклањања\n" -" \t директоријума из спремника, тако да се ради само са " -"спремником.\n" +" \t директоријума из спремника, тако да се ради само са спремником.\n" " \n" " Аргументи:\n" " +N\tУклања N-ти унос почевши са леве стране списка кога приказује\n" @@ -5382,19 +5065,16 @@ msgstr "" " \t директоријум, „popd +1“ други.\n" " \n" " -N\tУклања N-ти унос почевши са десне стране списка кога приказује\n" -" \t „dirs“, почевши од нуле. На пример: „popd -0“ уклања " -"последњи\n" +" \t „dirs“, почевши од нуле. На пример: „popd -0“ уклања последњи\n" " \t директоријум, „popd -1“ претпоследњи.\n" " \n" " Уграђеност „dirs“ приказује спремник директоријума.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако није достављен неисправан аргумент или " -"измена\n" +" Даје позитиван резултат осим ако није достављен неисправан аргумент или измена\n" " директоријума не успе." #: builtins.c:1864 -#, fuzzy msgid "" "Display directory stack.\n" " \n" @@ -5438,24 +5118,20 @@ msgstr "" " \n" " Аргументи:\n" " +N\tПриказујеs N-ти унос бројећи са леве стране на списку кога\n" -" приказује „dirs“ када се призове без опција, почевши од " -"нуле.\n" +" приказује „dirs“ када се призове без опција, почевши од нуле.\n" " \n" " -N\tПриказујеs N-ти унос бројећи са десне стране на списку кога\n" -" приказује „dirs“ када се призове без опција, почевши од " -"нуле.\n" +" приказује „dirs“ када се призове без опција, почевши од нуле.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако се не достави неисправна опција или ако " -"не дође до грешке." +" Даје позитиван резултат осим ако се не достави неисправна опција или ако не дође до грешке." #: builtins.c:1895 msgid "" "Set and unset shell options.\n" " \n" " Change the setting of each shell option OPTNAME. Without any option\n" -" arguments, list all shell options with an indication of whether or not " -"each\n" +" arguments, list all shell options with an indication of whether or not each\n" " is set.\n" " \n" " Options:\n" @@ -5471,10 +5147,8 @@ msgid "" msgstr "" "Подешава и расподешава опције шкољке.\n" " \n" -" Мења подешавање сваке оције шкољке НАЗИВ_ОПЦИЈЕ. Без аргумената " -"опција,\n" -" исписује све опције шкољке са назнаком да ли је свака подешена или " -"није.\n" +" Мења подешавање сваке оције шкољке НАЗИВ_ОПЦИЈЕ. Без аргумената опција,\n" +" исписује све опције шкољке са назнаком да ли је свака подешена или није.\n" " \n" " Опције:\n" " -o\tограничава НАЗИВЕ_ОПЦИЈА на оне одређене за коришћење са „set -o“\n" @@ -5484,12 +5158,10 @@ msgstr "" " -u\tискључује (расподешава) сваки НАЗИВ_ОПЦИЈЕ\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат ако је НАЗИВ_ОПЦИЈЕ укључен; неуспех ако је " -"дата\n" +" Даје позитиван резултат ако је НАЗИВ_ОПЦИЈЕ укључен; неуспех ако је дата\n" " неисправна опција или ако је НАЗИВ_ОПЦИЈЕ искључен." #: builtins.c:1916 -#, fuzzy msgid "" "Formats and prints ARGUMENTS under control of the FORMAT.\n" " \n" @@ -5497,34 +5169,27 @@ msgid "" " -v var\tassign the output to shell variable VAR rather than\n" " \t\tdisplay it on the standard output\n" " \n" -" FORMAT is a character string which contains three types of objects: " -"plain\n" -" characters, which are simply copied to standard output; character " -"escape\n" +" FORMAT is a character string which contains three types of objects: plain\n" +" characters, which are simply copied to standard output; character escape\n" " sequences, which are converted and copied to the standard output; and\n" -" format specifications, each of which causes printing of the next " -"successive\n" +" format specifications, each of which causes printing of the next successive\n" " argument.\n" " \n" -" In addition to the standard format specifications described in printf" -"(1),\n" +" In addition to the standard format specifications described in printf(1),\n" " printf interprets:\n" " \n" " %b\texpand backslash escape sequences in the corresponding argument\n" " %q\tquote the argument in a way that can be reused as shell input\n" -" %(fmt)T\toutput the date-time string resulting from using FMT as a " -"format\n" +" %(fmt)T\toutput the date-time string resulting from using FMT as a format\n" " \t string for strftime(3)\n" " \n" " The format is re-used as necessary to consume all of the arguments. If\n" " there are fewer arguments than the format requires, extra format\n" -" specifications behave as if a zero value or null string, as " -"appropriate,\n" +" specifications behave as if a zero value or null string, as appropriate,\n" " had been supplied.\n" " \n" " Exit Status:\n" -" Returns success unless an invalid option is given or a write or " -"assignment\n" +" Returns success unless an invalid option is given or a write or assignment\n" " error occurs." msgstr "" "Обликује и исписује АРГУМЕНТЕ под управом ЗАПИСА.\n" @@ -5536,16 +5201,14 @@ msgstr "" " ЗАПИС јесте ниска знака која садржи три врсте објекта: обични знаци,\n" " који се једноставно умножавају на стандардни излаз; низови прекида\n" " знака, који се претварају и умножавају на стандардни излаз; и одредбе\n" -" записа, од којих свака доводи до исписивања следећег наредног " -"аргумента.\n" +" записа, од којих свака доводи до исписивања следећег наредног аргумента.\n" " \n" " Као додатак одредбама стандардног записа описаних у „printf(1)“,\n" " „printf“ тумачи:\n" " \n" " %b\tшири низове прекида контра косе црте у одговарајући аргумент\n" " %q\tцитира аргумент на начин како би био коришћен као улаз шкољке\n" -" %(fmt)T исписује ниску датум-време резултирајући коришћењем ФМТ-а " -"као\n" +" %(fmt)T исписује ниску датум-време резултирајући коришћењем ФМТ-а као\n" " ниске записа за „strftime(3)“\n" " \n" " Запис се поново користи јер је потребно утрошити све аргументе. Ако\n" @@ -5557,14 +5220,11 @@ msgstr "" " дође до грешке писања или доделе." #: builtins.c:1950 -#, fuzzy msgid "" "Specify how arguments are to be completed by Readline.\n" " \n" -" For each NAME, specify how arguments are to be completed. If no " -"options\n" -" are supplied, existing completion specifications are printed in a way " -"that\n" +" For each NAME, specify how arguments are to be completed. If no options\n" +" are supplied, existing completion specifications are printed in a way that\n" " allows them to be reused as input.\n" " \n" " Options:\n" @@ -5590,8 +5250,7 @@ msgstr "" " који омогућава да буду поново коришћене као улаз.\n" " \n" " Опције:\n" -" -p\tисписује постојеће одредбе довршавања у поново употребљивом " -"запису\n" +" -p\tисписује постојеће одредбе довршавања у поново употребљивом запису\n" " -r\tуклања одредбу довршавања за сваки НАЗИВ, или, ако НАЗИВИ нису\n" " \t достављени, све одредбе довршавања\n" " -D\tпримењује довршавања и радње као основне за радње\n" @@ -5603,16 +5262,14 @@ msgstr "" " великих слова наведених горе. Опција „-D“ има првенство над „-E“.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако се не достави неисправна опција или ако " -"не дође до грешке." +" Даје позитиван резултат осим ако се не достави неисправна опција или ако не дође до грешке." #: builtins.c:1978 msgid "" "Display possible completions depending on the options.\n" " \n" " Intended to be used from within a shell function generating possible\n" -" completions. If the optional WORD argument is supplied, matches " -"against\n" +" completions. If the optional WORD argument is supplied, matches against\n" " WORD are generated.\n" " \n" " Exit Status:\n" @@ -5624,19 +5281,15 @@ msgstr "" " Ако је достављен изборни аргумент РЕЧ, стварају се поређења са РЕЧЈУ.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако се не достави неисправна опција или ако " -"не дође до грешке." +" Даје позитиван резултат осим ако се не достави неисправна опција или ако не дође до грешке." #: builtins.c:1993 msgid "" "Modify or display completion options.\n" " \n" -" Modify the completion options for each NAME, or, if no NAMEs are " -"supplied,\n" -" the completion currently being executed. If no OPTIONs are given, " -"print\n" -" the completion options for each NAME or the current completion " -"specification.\n" +" Modify the completion options for each NAME, or, if no NAMEs are supplied,\n" +" the completion currently being executed. If no OPTIONs are given, print\n" +" the completion options for each NAME or the current completion specification.\n" " \n" " Options:\n" " \t-o option\tSet completion option OPTION for each NAME\n" @@ -5672,38 +5325,30 @@ msgstr "" " \n" " Аргументи:\n" " \n" -" Сваки НАЗИВ упућује на наредбу за коју одредба довршавања мора " -"претходно\n" +" Сваки НАЗИВ упућује на наредбу за коју одредба довршавања мора претходно\n" " бити одређена употребом уграђености „complete“. Ако НАЗИВИ нису дати,\n" " „compopt“ мора бити позвано функцијом која тренутно ствара довршавања,\n" " а опције ствараоца који тренутно извршава довршавање су измењене.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако се не достави неисправна опција или " -"НАЗИВ\n" +" Даје позитиван резултат осим ако се не достави неисправна опција или НАЗИВ\n" " нема одређену одредбу довршавања." #: builtins.c:2023 -#, fuzzy msgid "" "Read lines from the standard input into an indexed array variable.\n" " \n" -" Read lines from the standard input into the indexed array variable " -"ARRAY, or\n" -" from file descriptor FD if the -u option is supplied. The variable " -"MAPFILE\n" +" Read lines from the standard input into the indexed array variable ARRAY, or\n" +" from file descriptor FD if the -u option is supplied. The variable MAPFILE\n" " is the default ARRAY.\n" " \n" " Options:\n" " -d delim\tUse DELIM to terminate lines, instead of newline\n" -" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are " -"copied\n" -" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default " -"index is 0\n" +" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are copied\n" +" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default index is 0\n" " -s count\tDiscard the first COUNT lines read\n" " -t\tRemove a trailing DELIM from each line read (default newline)\n" -" -u fd\tRead lines from file descriptor FD instead of the standard " -"input\n" +" -u fd\tRead lines from file descriptor FD instead of the standard input\n" " -C callback\tEvaluate CALLBACK each time QUANTUM lines are read\n" " -c quantum\tSpecify the number of lines read between each call to\n" " \t\t\tCALLBACK\n" @@ -5716,39 +5361,31 @@ msgid "" " element to be assigned and the line to be assigned to that element\n" " as additional arguments.\n" " \n" -" If not supplied with an explicit origin, mapfile will clear ARRAY " -"before\n" +" If not supplied with an explicit origin, mapfile will clear ARRAY before\n" " assigning to it.\n" " \n" " Exit Status:\n" -" Returns success unless an invalid option is given or ARRAY is readonly " -"or\n" +" Returns success unless an invalid option is given or ARRAY is readonly or\n" " not an indexed array." msgstr "" "Чита редове са стандардног улаза у променљивој индексираног низа.\n" " \n" -" Чита редове са стандардног улаза у променљивој индексираног низа НИЗ, " -"или\n" -" из описника датотеке ОД ако је достављена опција „-u“. Променљива " -"МАПОТЕКА\n" +" Чита редове са стандардног улаза у променљивој индексираног низа НИЗ, или\n" +" из описника датотеке ОД ако је достављена опција „-u“. Променљива МАПОТЕКА\n" " јесте основни НИЗ.\n" " \n" " Опције:\n" -" -n број Умножава највише БРОЈ редова. Ако је БРОЈ 0, умножавају " -"се сви редови.\n" -" -O порекло Почиње додељивање НИЗУ при индексу ПОРЕКЛО. Основни " -"индекс је 0.\n" -" -s број Одбацује првих БРОЈ прочитаних редова.\n" -" -t Уклања пратећи нови ред из сваког прочитаног реда.\n" -" -u од Чита редове из описника датотеке ОД уместо са стандардног " -"улаза.\n" -" -C опозив Процењује ОПОЗИВ сваког пута када се прочита КОЛИЧИНА " -"редова.\n" -" -c количина Наводи број прочитаних редова између сваког позива за " -"ОПОЗИВ.\n" +" -d гранич Користи ГРАНИЧНИК да оконча редове, уместо новог реда\n" +" -n број Умножава највише БРОЈ редова. Ако је БРОЈ 0, умножавају се сви редови\n" +" -O порекло Почиње додељивање НИЗУ при индексу ПОРЕКЛО. Основни индекс је 0\n" +" -s број Одбацује првих БРОЈ прочитаних редова\n" +" -t Уклања пратећи ГРАНИЧНИК из сваког прочитаног реда (основни нови ред)\n" +" -u од Чита редове из описника датотеке ОД уместо са стандардног улаза\n" +" -C опозив Процењује ОПОЗИВ сваког пута када се прочита КОЛИЧИНА редова\n" +" -c количина Наводи број прочитаних редова између сваког позива за ОПОЗИВ\n" " \n" " Аргументи:\n" -" НИЗ Назив променљиве низа за податке датотеке.\n" +" НИЗ Назив променљиве низа за податке датотеке\n" " \n" " Ако је „-C“ достављено без „-c“, основна количина је 5000. Када се\n" " процени ОПОЗИВ, достављен је индекс следећег елемента низа који ће\n" @@ -5759,8 +5396,7 @@ msgstr "" " него што му додели.\n" " \n" " Излазно стање:\n" -" Даје позитиван резултат осим ако није дата неисправна опција или ако је " -"НИЗ само\n" +" Даје позитиван резултат осим ако није дата неисправна опција или ако је НИЗ само\n" " за читање или није индексирани низ." #: builtins.c:2059 diff --git a/shell.c b/shell.c index 0e47cf43..69be111a 100644 --- a/shell.c +++ b/shell.c @@ -1695,6 +1695,9 @@ init_interactive () { expand_aliases = interactive_shell = startup_state = 1; interactive = 1; +#if defined (HISTORY) + remember_on_history = enable_history_list = 1; /* XXX */ +#endif } static void @@ -1718,6 +1721,9 @@ init_interactive_script () { init_noninteractive (); expand_aliases = interactive_shell = startup_state = 1; +#if defined (HISTORY) + remember_on_history = enable_history_list = 1; /* XXX */ +#endif } void @@ -1860,7 +1866,7 @@ shell_reinitialize () /* XXX - should we set jobs_m_flag to 0 here? */ #if defined (HISTORY) - bash_history_reinit (0); + bash_history_reinit (enable_history_list = 0); #endif /* HISTORY */ #if defined (RESTRICTED_SHELL) diff --git a/subst.c b/subst.c index a2f6a083..2e35bec2 100644 --- a/subst.c +++ b/subst.c @@ -1763,7 +1763,7 @@ skip_to_delim (string, start, delims, flags) int flags; { int i, pass_next, backq, dquote, si, c, oldjmp; - int invert, skipquote, skipcmd, noprocsub, completeflag, histexp; + int invert, skipquote, skipcmd, noprocsub, completeflag; int arithexp, skipcol; size_t slen; char *temp, open[3]; @@ -1776,7 +1776,6 @@ skip_to_delim (string, start, delims, flags) invert = (flags & SD_INVERT); skipcmd = (flags & SD_NOSKIPCMD) == 0; noprocsub = (flags & SD_NOPROCSUB); - histexp = (flags & SD_HISTEXP); completeflag = (flags & SD_COMPLETE) ? SX_COMPLETE : 0; arithexp = (flags & SD_ARITHEXP); @@ -1835,11 +1834,6 @@ skip_to_delim (string, start, delims, flags) /* the usual case is to use skip_xxx_quoted, but we don't skip over double quoted strings when looking for the history expansion character as a delimiter. */ - else if (histexp && dquote && c == '\'') - { - i++; - continue; - } /* special case for programmable completion which takes place before parser converts backslash-escaped single quotes between $'...' to `regular' single-quoted strings. */ @@ -1847,14 +1841,6 @@ skip_to_delim (string, start, delims, flags) i = skip_single_quoted (string, slen, ++i, SX_COMPLETE); else if (c == '\'') i = skip_single_quoted (string, slen, ++i, 0); - /* The posixly_correct test makes posix-mode shells allow double quotes - to quote the history expansion character */ - else if (histexp && posixly_correct == 0 && c == '"') - { - dquote = 1 - dquote; - i++; - continue; - } else if (c == '"') i = skip_double_quoted (string, slen, ++i, completeflag); else if (c == LPAREN && arithexp) @@ -1947,6 +1933,128 @@ skip_to_delim (string, start, delims, flags) CQ_RETURN(i); } +#if defined (BANG_HISTORY) +/* Skip to the history expansion character (delims[0]), paying attention to + quoted strings and command and process substitution. This is a stripped- + down version of skip_to_delims. The essential difference is that this + resets the quoting state when starting a command substitution */ +int +skip_to_histexp (string, start, delims, flags) + char *string; + int start; + char *delims; + int flags; +{ + int i, pass_next, backq, dquote, si, c, oldjmp; + int histexp_comsub, histexp_backq, old_dquote; + size_t slen; + char *temp, open[3]; + DECLARE_MBSTATE; + + slen = strlen (string + start) + start; + oldjmp = no_longjmp_on_fatal_error; + if (flags & SD_NOJMP) + no_longjmp_on_fatal_error = 1; + + histexp_comsub = histexp_backq = old_dquote = 0; + + i = start; + pass_next = backq = dquote = 0; + while (c = string[i]) + { + if (pass_next) + { + pass_next = 0; + if (c == 0) + CQ_RETURN(i); + ADVANCE_CHAR (string, slen, i); + continue; + } + else if (c == '\\') + { + pass_next = 1; + i++; + continue; + } + else if (backq && c == '`') + { + backq = 0; + histexp_backq--; + dquote = old_dquote; + i++; + continue; + } + else if (c == '`') + { + backq = 1; + histexp_backq++; + old_dquote = dquote; /* simple - one level for now */ + dquote = 0; + i++; + continue; + } + /* When in double quotes, act as if the double quote is a member of + history_no_expand_chars, like the history library does */ + else if (dquote && c == delims[0] && string[i+1] == '"') + { + i++; + continue; + } + else if (c == delims[0]) + break; + /* the usual case is to use skip_xxx_quoted, but we don't skip over double + quoted strings when looking for the history expansion character as a + delimiter. */ + else if (dquote && c == '\'') + { + i++; + continue; + } + else if (c == '\'') + i = skip_single_quoted (string, slen, ++i, 0); + /* The posixly_correct test makes posix-mode shells allow double quotes + to quote the history expansion character */ + else if (posixly_correct == 0 && c == '"') + { + dquote = 1 - dquote; + i++; + continue; + } + else if (c == '"') + i = skip_double_quoted (string, slen, ++i, 0); +#if defined (PROCESS_SUBSTITUTION) + else if ((c == '$' || c == '<' || c == '>') && string[i+1] == LPAREN && string[i+2] != LPAREN) +#else + else if (c == '$' && string[i+1] == LPAREN && string[i+2] != LPAREN) +#endif + { + if (string[i+2] == '\0') + CQ_RETURN(i+2); + i += 2; + histexp_comsub++; + old_dquote = dquote; + dquote = 0; + } + else if (histexp_comsub && c == RPAREN) + { + histexp_comsub--; + dquote = old_dquote; + i++; + continue; + } + else if (backq) /* placeholder */ + { + ADVANCE_CHAR (string, slen, i); + continue; + } + else + ADVANCE_CHAR (string, slen, i); + } + + CQ_RETURN(i); +} +#endif /* BANG_HISTORY */ + #if defined (READLINE) /* Return 1 if the portion of STRING ending at EINDEX is quoted (there is an unclosed quoted string), or if the character at EINDEX is quoted @@ -6488,18 +6596,28 @@ parameter_brace_expand_rhs (name, value, c, quoted, qdollaratp, hasdollarat) free (temp); if (l) { + /* If l->next is not null, we know that TEMP contained "$@", since that + is the only expansion that creates more than one word. */ + if (qdollaratp && ((hasdol && quoted) || l->next)) + *qdollaratp = 1; + /* The expansion of TEMP returned something. We need to treat things slightly differently if HASDOL is non-zero. If we have "$@", the individual words have already been quoted. We need to turn them into a string with the words separated by the first character of $IFS without any additional quoting, so string_list_dollar_at won't - do the right thing. We use string_list_dollar_star instead. */ - temp = (hasdol || l->next) ? string_list_dollar_star (l) : string_list (l); + do the right thing. If IFS is null, we want "$@" to split into + separate arguments, not be concatenated, so we use string_list_internal + and mark the word to be split on spaces later. We use + string_list_dollar_star for "$@" otherwise. */ + if (l->next && ifs_is_null) + { + temp = string_list_internal (l, " "); + w->flags |= W_SPLITSPACE; + } + else + temp = (hasdol || l->next) ? string_list_dollar_star (l) : string_list (l); - /* If l->next is not null, we know that TEMP contained "$@", since that - is the only expansion that creates more than one word. */ - if (qdollaratp && ((hasdol && quoted) || l->next)) - *qdollaratp = 1; /* If we have a quoted null result (QUOTED_NULL(temp)) and the word is a quoted null (l->next == 0 && QUOTED_NULL(l->word->word)), the flags indicate it (l->word->flags & W_HASQUOTEDNULL), and the @@ -9477,7 +9595,9 @@ finished_with_string: with the first character of $IFS, so we split on $IFS. If SPLIT_ON_SPACES is set, we expanded $* (unquoted) with IFS either unset or null, and we want to make sure that we split on spaces - regardless of what else has happened to IFS since the expansion. */ + regardless of what else has happened to IFS since the expansion, + or we expanded "$@" with IFS null and we need to split the positional + parameters into separate words. */ if (split_on_spaces) list = list_string (istring, " ", 1); /* XXX quoted == 1? */ /* If we have $@ (has_dollar_at != 0) and we are in a context where we diff --git a/subst.h b/subst.h index 4e0e5519..75e8e8b9 100644 --- a/subst.h +++ b/subst.h @@ -1,6 +1,6 @@ /* subst.h -- Names of externally visible functions in subst.c. */ -/* Copyright (C) 1993-2010 Free Software Foundation, Inc. +/* Copyright (C) 1993-2015 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. @@ -297,6 +297,10 @@ extern char *cond_expand_word __P((WORD_DESC *, int)); extern int skip_to_delim __P((char *, int, char *, int)); +#if defined (BANG_HISTORY) +extern int skip_to_histexp __P((char *, int, char *, int)); +#endif + #if defined (READLINE) extern int char_is_quoted __P((char *, int)); extern int unclosed_pair __P((char *, int, char *)); diff --git a/tests/dollar-at-star b/tests/dollar-at-star index 70daf4de..6b34abf2 100755 --- a/tests/dollar-at-star +++ b/tests/dollar-at-star @@ -218,6 +218,7 @@ ${THIS_SH} ./dollar-at-star3.sub ${THIS_SH} ./dollar-at-star4.sub ${THIS_SH} ./dollar-at-star5.sub ${THIS_SH} ./dollar-at-star6.sub +${THIS_SH} ./dollar-at-star7.sub # tests for special expansion of "$*" and "${array[*]}" when used with other # expansions -- bugs through bash-2.05b diff --git a/tests/dollar-at-star7.sub b/tests/dollar-at-star7.sub new file mode 100644 index 00000000..47cb37f6 --- /dev/null +++ b/tests/dollar-at-star7.sub @@ -0,0 +1,25 @@ +IFS='' # testing with only empty IFS + +set -- this is a test + +printf '|%s|\n' ${1+"$@"} +echo +printf '|%s|\n' "${1+$@}" +echo +printf '|%s|\n' "$@" +echo + +printf '|%s|\n' ${1-"$@"} +printf '|%s|\n' "${1-$@}" + +echo +: ${foo:="$@"} +printf '|%s|\n' "$foo" + +unset foo +: "${foo:=$@}" +printf '|%s|\n' "$foo" + +unset foo +printf '|%s|\n' ${foo-"$@"} +printf '|%s|\n' "${foo-$@}" diff --git a/tests/dollar.right b/tests/dollar.right index 4729ecda..8d21b6d7 100644 --- a/tests/dollar.right +++ b/tests/dollar.right @@ -266,6 +266,34 @@ argv[3] = <'c'> argv[1] = <'a'> argv[2] = <'b'> argv[3] = <'c'> +|this| +|is| +|a| +|test| + +|this| +|is| +|a| +|test| + +|this| +|is| +|a| +|test| + +|this| +|this| + +|this is a test| +|this is a test| +|this| +|is| +|a| +|test| +|this| +|is| +|a| +|test| xa|xb|xc xa|xb|xc a|b|c diff --git a/tests/histexp.right b/tests/histexp.right index 9a7ae0bb..c929e585 100644 --- a/tests/histexp.right +++ b/tests/histexp.right @@ -150,3 +150,42 @@ echo "#!/bin/bash" set -o posix #!/bin/bash set -o posix !! !! +a +echo $(echo echo a) +echo a +a +echo echo a $(echo echo a) +echo a echo a +b +!! $(echo !!) +c +echo "echo c" "$(echo echo c)" +echo c echo c +d +echo "echo d" $(echo "echo d") +echo d echo d +e +!! !! +f +!! +f +!! +g +echo "echo g" +echo g +g +eval echo "echo g" +echo g +a +cat < <(echo echo a) +echo a +b +echo echo b `echo echo b` +echo b echo b +c +! +d +! +e +! ! +./histexp4.sub: line 20: !': event not found diff --git a/tests/histexp.tests b/tests/histexp.tests index 681f1310..ca701870 100644 --- a/tests/histexp.tests +++ b/tests/histexp.tests @@ -130,3 +130,5 @@ echo !shopt* ${THIS_SH} ./histexp1.sub ${THIS_SH} ./histexp2.sub +${THIS_SH} ./histexp3.sub +${THIS_SH} ./histexp4.sub diff --git a/tests/histexp3.sub b/tests/histexp3.sub new file mode 100644 index 00000000..ae2b4986 --- /dev/null +++ b/tests/histexp3.sub @@ -0,0 +1,35 @@ +HISTFILE=${TMPDIR}/bashhist-$$ + +set -o history +set -o histexpand + +echo a +echo $(echo !!) + +echo a +echo !! $(echo !!) + +echo b +echo '!!' '$(echo !!)' + +echo c +echo "!!" "$(echo !!)" + +echo d +echo "!!" $(echo "!!") + +echo e +echo '!!' $(echo '!!') + +echo f +echo '!!' +echo f +eval echo '!!' + +echo g +echo "!!" +echo g +eval echo "!!" + +set +o history +rm -f $HISTFILE # just in case diff --git a/tests/histexp4.sub b/tests/histexp4.sub new file mode 100644 index 00000000..ddc3bb3c --- /dev/null +++ b/tests/histexp4.sub @@ -0,0 +1,23 @@ +HISTFILE=$TMPDIR/bashhist-$$ + +set -o history +set -o histexpand + +echo a +cat < <(echo !!) + +echo b +echo !! `echo !!` + +echo c +echo "$(echo "!" )" + +echo d +echo "$(echo '!' )" + +echo e +echo '!' "!" +echo "'!'" + +set +o history +rm -f $HISTFILE diff --git a/variables.c b/variables.c index a3661d13..996ae705 100644 --- a/variables.c +++ b/variables.c @@ -503,7 +503,11 @@ initialize_shell_variables (env, privmode) #endif set_if_not ("PS2", secondary_prompt); } - set_if_not ("PS4", "+ "); + + if (current_user.euid == 0) + bind_variable ("PS4", "+", 0); + else + set_if_not ("PS4", "+ "); /* Don't allow IFS to be imported from the environment. */ temp_var = bind_variable ("IFS", " \t\n", 0);