Protect grep invocations from user aliases (Alioth: 312143).
This commit is contained in:
parent
247ada3cc4
commit
8caddc47cf
1
CHANGES
1
CHANGES
@ -47,6 +47,7 @@ bash-completion (2.x)
|
|||||||
* Fix leaking local variables from various completions.
|
* Fix leaking local variables from various completions.
|
||||||
* Turn on -o filenames in _filedir on bash >= 4.
|
* Turn on -o filenames in _filedir on bash >= 4.
|
||||||
* Deprecate modules completion, upstream modules >= 3.2.7 ships one.
|
* Deprecate modules completion, upstream modules >= 3.2.7 ships one.
|
||||||
|
* Protect grep invocations from user aliases (Alioth: 312143).
|
||||||
|
|
||||||
[ Freddy Vulto ]
|
[ Freddy Vulto ]
|
||||||
* Added _get_pword() helper function, thanks to Sung Pae (Alioth: #312030)
|
* Added _get_pword() helper function, thanks to Sung Pae (Alioth: #312030)
|
||||||
|
@ -440,7 +440,7 @@ _split_longopt()
|
|||||||
_parse_help() {
|
_parse_help() {
|
||||||
local cmd
|
local cmd
|
||||||
cmd=$1
|
cmd=$1
|
||||||
$cmd --help | grep -- "^[[:space:]]*-" | tr "," " " | \
|
$cmd --help | command grep -- "^[[:space:]]*-" | tr "," " " | \
|
||||||
awk '{print $1; if ($2 ~ /-.*/) { print $2 } }' | sed -e "s:=.*::g"
|
awk '{print $1; if ($2 ~ /-.*/) { print $2 } }' | sed -e "s:=.*::g"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -706,8 +706,9 @@ _usergroup()
|
|||||||
#
|
#
|
||||||
_shells()
|
_shells()
|
||||||
{
|
{
|
||||||
COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W '$( grep "^[[:space:]]*/" \
|
COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W \
|
||||||
/etc/shells 2>/dev/null )' -- "$cur" ) )
|
'$( command grep "^[[:space:]]*/" /etc/shells 2>/dev/null )' \
|
||||||
|
-- "$cur" ) )
|
||||||
}
|
}
|
||||||
|
|
||||||
# Get real command.
|
# Get real command.
|
||||||
@ -1368,7 +1369,7 @@ _known_hosts_real()
|
|||||||
COMPREPLY=( "${COMPREPLY[@]}" $( \
|
COMPREPLY=( "${COMPREPLY[@]}" $( \
|
||||||
compgen -P "$prefix$user" -S "$suffix" -W \
|
compgen -P "$prefix$user" -S "$suffix" -W \
|
||||||
"$( avahi-browse -cpr _workstation._tcp 2>/dev/null | \
|
"$( avahi-browse -cpr _workstation._tcp 2>/dev/null | \
|
||||||
grep ^= | cut -d\; -f7 | sort -u )" -- "$cur" ) )
|
command grep ^= | cut -d\; -f7 | sort -u )" -- "$cur" ) )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add results of normal hostname completion, unless
|
# Add results of normal hostname completion, unless
|
||||||
|
@ -37,7 +37,7 @@ _module_avail ()
|
|||||||
{
|
{
|
||||||
local modules="$( \
|
local modules="$( \
|
||||||
module avail 2>&1 | \
|
module avail 2>&1 | \
|
||||||
grep -E -v '^(-|$)' | \
|
command grep -E -v '^(-|$)' | \
|
||||||
xargs printf '%s\n' | sed -e 's/(default)//g' | sort )"
|
xargs printf '%s\n' | sed -e 's/(default)//g' | sort )"
|
||||||
|
|
||||||
compgen -W "$modules" -- $1
|
compgen -W "$modules" -- $1
|
||||||
@ -55,7 +55,7 @@ _module ()
|
|||||||
if [ $COMP_CWORD -eq 1 ] ; then
|
if [ $COMP_CWORD -eq 1 ] ; then
|
||||||
# First parameter on line -- we expect it to be a mode selection
|
# First parameter on line -- we expect it to be a mode selection
|
||||||
|
|
||||||
options="$( module help 2>&1 | grep -E '^[[:space:]]*\+' | \
|
options="$( module help 2>&1 | command grep -E '^[[:space:]]*\+' | \
|
||||||
awk '{print $2}' | sed -e 's/|/ /g' | sort )"
|
awk '{print $2}' | sed -e 's/|/ /g' | sort )"
|
||||||
|
|
||||||
COMPREPLY=( $(compgen -W "$options" -- "$cur") )
|
COMPREPLY=( $(compgen -W "$options" -- "$cur") )
|
||||||
|
@ -42,7 +42,7 @@ _apt_get()
|
|||||||
;;
|
;;
|
||||||
-t|--target-release|--default-release)
|
-t|--target-release|--default-release)
|
||||||
COMPREPLY=( $( apt-cache policy | \
|
COMPREPLY=( $( apt-cache policy | \
|
||||||
grep "release.o=Debian,a=$cur" | \
|
command grep "release.o=Debian,a=$cur" | \
|
||||||
sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null) )
|
sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null) )
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
@ -98,7 +98,7 @@ _apt_cache()
|
|||||||
|
|
||||||
showsrc)
|
showsrc)
|
||||||
COMPREPLY=( $( apt-cache dumpavail | \
|
COMPREPLY=( $( apt-cache dumpavail | \
|
||||||
grep "^Source: $cur" | sort -u | cut -f2 -d" " ) )
|
command grep "^Source: $cur" | sort -u | cut -f2 -d" " ) )
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
@ -9,7 +9,8 @@ _comp_dpkg_hold_packages()
|
|||||||
} || {
|
} || {
|
||||||
_comp_dpkg_hold_packages()
|
_comp_dpkg_hold_packages()
|
||||||
{
|
{
|
||||||
grep -B 2 'hold' /var/lib/dpkg/status | grep "Package: $1" | cut -d\ -f2
|
command grep -B 2 'hold' /var/lib/dpkg/status | \
|
||||||
|
command grep "Package: $1" | cut -d\ -f2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,7 +69,7 @@ _aptitude()
|
|||||||
;;
|
;;
|
||||||
-t|--target-release|--default-release)
|
-t|--target-release|--default-release)
|
||||||
COMPREPLY=( $( apt-cache policy | \
|
COMPREPLY=( $( apt-cache policy | \
|
||||||
grep "release.o=Debian,a=$cur" | \
|
command grep "release.o=Debian,a=$cur" | \
|
||||||
sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null ) )
|
sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null ) )
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
|
@ -7,7 +7,8 @@ _bk() {
|
|||||||
COMPREPLY=()
|
COMPREPLY=()
|
||||||
cur=`_get_cword`
|
cur=`_get_cword`
|
||||||
|
|
||||||
BKCMDS="$( bk help topics | grep '^ bk' | cut -d ' ' -f 4 | xargs echo )"
|
BKCMDS="$( bk help topics | command grep '^ bk' | cut -d ' ' -f 4 | \
|
||||||
|
xargs echo )"
|
||||||
|
|
||||||
COMPREPLY=( $( compgen -W "$BKCMDS" -- "$cur" ) )
|
COMPREPLY=( $( compgen -W "$BKCMDS" -- "$cur" ) )
|
||||||
_filedir
|
_filedir
|
||||||
|
@ -72,7 +72,7 @@ _cfrun()
|
|||||||
done
|
done
|
||||||
[ ! -f $hostfile ] && return 0
|
[ ! -f $hostfile ] && return 0
|
||||||
|
|
||||||
COMPREPLY=( $(compgen -W "$( grep -v \
|
COMPREPLY=( $(compgen -W "$( command grep -v \
|
||||||
-E '(=|^$|^#)' $hostfile )" -- "$cur" ) )
|
-E '(=|^$|^#)' $hostfile )" -- "$cur" ) )
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
@ -8,11 +8,11 @@ _comp_dpkg_installed_packages()
|
|||||||
} || {
|
} || {
|
||||||
_comp_dpkg_installed_packages()
|
_comp_dpkg_installed_packages()
|
||||||
{
|
{
|
||||||
grep -A 1 "Package: $1" /var/lib/dpkg/status | \
|
command grep -A 1 "Package: $1" /var/lib/dpkg/status | \
|
||||||
grep -B 1 -Ee "ok installed|half-installed|unpacked| \
|
command grep -B 1 -Ee "ok installed|half-installed|unpacked| \
|
||||||
half-configured|config-files" \
|
half-configured|config-files" \
|
||||||
-Ee "^Essential: yes" | \
|
-Ee "^Essential: yes" | \
|
||||||
grep "Package: $1" | cut -d\ -f2
|
command grep "Package: $1" | cut -d\ -f2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ _isql()
|
|||||||
cur=`_get_cword`
|
cur=`_get_cword`
|
||||||
|
|
||||||
[ -f "$ODBCINI" ] \
|
[ -f "$ODBCINI" ] \
|
||||||
&& COMPREPLY=( $( grep \\["$cur" "$ODBCINI" | tr -d \\[\\] ) )
|
&& COMPREPLY=( $( command grep \\["$cur" "$ODBCINI" | tr -d \\[\\] ) )
|
||||||
} &&
|
} &&
|
||||||
complete -F _isql isql
|
complete -F _isql isql
|
||||||
|
|
||||||
|
@ -64,10 +64,10 @@ _java_classes()
|
|||||||
if type zipinfo &>/dev/null; then
|
if type zipinfo &>/dev/null; then
|
||||||
COMPREPLY=( "${COMPREPLY[@]}" $( zipinfo -1 \
|
COMPREPLY=( "${COMPREPLY[@]}" $( zipinfo -1 \
|
||||||
"$i" "$cur*" 2>/dev/null | \
|
"$i" "$cur*" 2>/dev/null | \
|
||||||
grep '^[^$]*\.class$' ) )
|
command grep '^[^$]*\.class$' ) )
|
||||||
else
|
else
|
||||||
COMPREPLY=( "${COMPREPLY[@]}" $( jar tf "$i" \
|
COMPREPLY=( "${COMPREPLY[@]}" $( jar tf "$i" \
|
||||||
"$cur" | grep '^[^$]*\.class$' ) )
|
"$cur" | command grep '^[^$]*\.class$' ) )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif [ -d $i ]; then
|
elif [ -d $i ]; then
|
||||||
@ -76,7 +76,7 @@ _java_classes()
|
|||||||
# See Debian bug #496828
|
# See Debian bug #496828
|
||||||
COMPREPLY=( "${COMPREPLY[@]}" $( find "$i" -type f \
|
COMPREPLY=( "${COMPREPLY[@]}" $( find "$i" -type f \
|
||||||
-maxdepth 1 -path "$i/$cur*.class" 2>/dev/null | \
|
-maxdepth 1 -path "$i/$cur*.class" 2>/dev/null | \
|
||||||
grep -v "\\$" | sed -e "s|^$i/||" ) )
|
command grep -v "\\$" | sed -e "s|^$i/||" ) )
|
||||||
|
|
||||||
# FIXME: if we have foo.class and foo/, the completion
|
# FIXME: if we have foo.class and foo/, the completion
|
||||||
# returns "foo/"... how to give precedence to files
|
# returns "foo/"... how to give precedence to files
|
||||||
@ -108,7 +108,7 @@ _java_packages()
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
# keep only packages
|
# keep only packages
|
||||||
COMPREPLY=( $( tr " " "\n" <<<"${COMPREPLY[@]}" | grep "/$" ) )
|
COMPREPLY=( $( tr " " "\n" <<<"${COMPREPLY[@]}" | command grep "/$" ) )
|
||||||
# remove packages extension
|
# remove packages extension
|
||||||
COMPREPLY=( ${COMPREPLY[@]%/} )
|
COMPREPLY=( ${COMPREPLY[@]%/} )
|
||||||
# convert path syntax to package syntax
|
# convert path syntax to package syntax
|
||||||
|
@ -112,7 +112,7 @@ _perldoc()
|
|||||||
COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W \
|
COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W \
|
||||||
'$( PAGER=/bin/cat man perl | \
|
'$( PAGER=/bin/cat man perl | \
|
||||||
sed -ne "/perl.*Perl overview/,/perlwin32/p" | \
|
sed -ne "/perl.*Perl overview/,/perlwin32/p" | \
|
||||||
awk "\$NF=2 { print \$1}" | grep perl )' -- "$cur" ) )
|
awk "\$NF=2 { print \$1}" | command grep perl )' -- "$cur" ) )
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -36,8 +36,8 @@ _portinstall()
|
|||||||
|
|
||||||
[[ "$prev" == -l || "$prev" == -L || "$prev" == -o ]] && return 0
|
[[ "$prev" == -l || "$prev" == -L || "$prev" == -o ]] && return 0
|
||||||
|
|
||||||
COMPREPLY=( $( grep -E "^$cur" < $indexfile | cut -d'|' -f1 ) )
|
COMPREPLY=( $( command grep -E "^$cur" < $indexfile | cut -d'|' -f1 ) )
|
||||||
COMPREPLY2=( $( grep -E "^[^\|]+\|$portsdir$cur" < $indexfile | \
|
COMPREPLY2=( $( command grep -E "^[^\|]+\|$portsdir$cur" < $indexfile | \
|
||||||
cut -d'|' -f2 ) )
|
cut -d'|' -f2 ) )
|
||||||
COMPREPLY2=( ${COMPREPLY2[@]#$portsdir} )
|
COMPREPLY2=( ${COMPREPLY2[@]#$portsdir} )
|
||||||
COMPREPLY=( "${COMPREPLY[@]}" "${COMPREPLY2[@]}" )
|
COMPREPLY=( "${COMPREPLY[@]}" "${COMPREPLY2[@]}" )
|
||||||
|
@ -13,7 +13,7 @@ _pg_users()
|
|||||||
{
|
{
|
||||||
# See https://launchpad.net/bugs/164772
|
# See https://launchpad.net/bugs/164772
|
||||||
#COMPREPLY=( $( psql -qtc 'select usename from pg_user' template1 2>/dev/null | \
|
#COMPREPLY=( $( psql -qtc 'select usename from pg_user' template1 2>/dev/null | \
|
||||||
# grep "^ $cur" ) )
|
# command grep "^ $cur" ) )
|
||||||
#[ ${#COMPREPLY[@]} -eq 0 ] && COMPREPLY=( $( compgen -u -- $cur ) )
|
#[ ${#COMPREPLY[@]} -eq 0 ] && COMPREPLY=( $( compgen -u -- $cur ) )
|
||||||
COMPREPLY=( $( compgen -u -- "$cur" ) )
|
COMPREPLY=( $( compgen -u -- "$cur" ) )
|
||||||
}
|
}
|
||||||
|
@ -22,14 +22,14 @@ _povray()
|
|||||||
;;
|
;;
|
||||||
[-+]O*)
|
[-+]O*)
|
||||||
# guess what output file type user may want
|
# guess what output file type user may want
|
||||||
case $( ( IFS=$'\n'; grep '^[-+]F' <<<"${COMP_WORDS[*]}" ) ) in
|
case $( ( IFS=$'\n'; command grep '^[-+]F' <<<"${COMP_WORDS[*]}" ) ) in
|
||||||
[-+]FN) oext=png ;;
|
[-+]FN) oext=png ;;
|
||||||
[-+]FP) oext=ppm ;;
|
[-+]FP) oext=ppm ;;
|
||||||
[-+]F[CT]) oext=tga ;;
|
[-+]F[CT]) oext=tga ;;
|
||||||
*) oext=$defoext ;;
|
*) oext=$defoext ;;
|
||||||
esac
|
esac
|
||||||
# complete filename corresponding to previously specified +I
|
# complete filename corresponding to previously specified +I
|
||||||
COMPREPLY=( $( ( IFS=$'\n'; grep '^[-+]I' <<<"${COMP_WORDS[*]}" ) ) )
|
COMPREPLY=( $( ( IFS=$'\n'; command grep '^[-+]I' <<<"${COMP_WORDS[*]}" ) ) )
|
||||||
COMPREPLY=( ${COMPREPLY[@]#[-+]I} )
|
COMPREPLY=( ${COMPREPLY[@]#[-+]I} )
|
||||||
COMPREPLY=( ${COMPREPLY[@]/%.pov/.$oext} )
|
COMPREPLY=( ${COMPREPLY[@]/%.pov/.$oext} )
|
||||||
cur="${povcur#[-+]O}" # to confuse _filedir
|
cur="${povcur#[-+]O}" # to confuse _filedir
|
||||||
|
@ -13,7 +13,7 @@ _rdesktop()
|
|||||||
-k)
|
-k)
|
||||||
COMPREPLY=( $( command ls \
|
COMPREPLY=( $( command ls \
|
||||||
/usr/share/rdesktop/keymaps 2>/dev/null | \
|
/usr/share/rdesktop/keymaps 2>/dev/null | \
|
||||||
grep -E -v '(common|modifiers)' ) )
|
command grep -E -v '(common|modifiers)' ) )
|
||||||
COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
|
COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
|
||||||
$HOME/.rdesktop/keymaps 2>/dev/null ) )
|
$HOME/.rdesktop/keymaps 2>/dev/null ) )
|
||||||
COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
|
COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
|
||||||
|
@ -14,7 +14,7 @@ _rpcdebug_flags()
|
|||||||
|
|
||||||
if [ -n "$module" ]; then
|
if [ -n "$module" ]; then
|
||||||
COMPREPLY=( $( compgen -W "$(rpcdebug -vh 2>&1 \
|
COMPREPLY=( $( compgen -W "$(rpcdebug -vh 2>&1 \
|
||||||
| grep '^'$module' '\
|
| command grep '^'$module' '\
|
||||||
| awk '{$1 = ""; print $0}')" -- "$cur" ) )
|
| awk '{$1 = ""; print $0}')" -- "$cur" ) )
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -12,16 +12,16 @@ _sitecopy()
|
|||||||
|
|
||||||
case "$cur" in
|
case "$cur" in
|
||||||
--*)
|
--*)
|
||||||
COMPREPLY=( $( compgen -W "$(sitecopy -h | grep -e '--\w' | \
|
COMPREPLY=( $( compgen -W "$(sitecopy -h | command grep -e '--\w' |\
|
||||||
awk '{sub (/=(FILE|PATH)/, "", $2); print $2}')" -- "$cur" ) )
|
awk '{sub (/=(FILE|PATH)/, "", $2); print $2}')" -- "$cur" ) )
|
||||||
;;
|
;;
|
||||||
-*)
|
-*)
|
||||||
COMPREPLY=( $( compgen -W "$(sitecopy -h | grep -e '-\w' | \
|
COMPREPLY=( $( compgen -W "$(sitecopy -h | command grep -e '-\w' | \
|
||||||
awk '{sub (",", "", $1); print $1}')" -- "$cur" ) )
|
awk '{sub (",", "", $1); print $1}')" -- "$cur" ) )
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if [ -r ~/.sitecopyrc ]; then
|
if [ -r ~/.sitecopyrc ]; then
|
||||||
COMPREPLY=( $( compgen -W "$(grep '^["$'\t '"]*site' \
|
COMPREPLY=( $( compgen -W "$(command grep '^["$'\t '"]*site' \
|
||||||
~/.sitecopyrc | awk '{print $2}')" -- "$cur" ) )
|
~/.sitecopyrc | awk '{print $2}')" -- "$cur" ) )
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
@ -101,7 +101,7 @@ _xvnc4viewer()
|
|||||||
)
|
)
|
||||||
[[ "$cur" == --* ]] && dash=-- || dash=-
|
[[ "$cur" == --* ]] && dash=-- || dash=-
|
||||||
# Is a `nocasematch' variable available (bash > v3.1)?
|
# Is a `nocasematch' variable available (bash > v3.1)?
|
||||||
if shopt nocasematch 2> /dev/null | grep -q ^nocasematch; then
|
if shopt nocasematch 2> /dev/null | command grep -q ^nocasematch; then
|
||||||
# Variable `nocasematch' is available
|
# Variable `nocasematch' is available
|
||||||
# Use vncviewer camelcase options
|
# Use vncviewer camelcase options
|
||||||
local option oldNoCaseMatch=$(shopt -p nocasematch)
|
local option oldNoCaseMatch=$(shopt -p nocasematch)
|
||||||
|
@ -35,7 +35,7 @@ _wvdial()
|
|||||||
# parse config files for sections and
|
# parse config files for sections and
|
||||||
# remove default section
|
# remove default section
|
||||||
COMPREPLY=( $( sed -ne "s|^\[Dialer \($cur.*\)\]$|\1|p" $config \
|
COMPREPLY=( $( sed -ne "s|^\[Dialer \($cur.*\)\]$|\1|p" $config \
|
||||||
2>/dev/null |grep -v '^Defaults$'))
|
2>/dev/null | command grep -v '^Defaults$'))
|
||||||
# escape spaces
|
# escape spaces
|
||||||
COMPREPLY=${COMPREPLY// /\\ }
|
COMPREPLY=${COMPREPLY// /\\ }
|
||||||
;;
|
;;
|
||||||
|
@ -10,7 +10,7 @@ _xrandr()
|
|||||||
|
|
||||||
case "$prev" in
|
case "$prev" in
|
||||||
--output)
|
--output)
|
||||||
local outputs=$(xrandr|grep 'connected'|awk '{print $1}')
|
local outputs=$(xrandr|command grep 'connected'|awk '{print $1}')
|
||||||
COMPREPLY=( $(compgen -W "$outputs" -- "$cur"))
|
COMPREPLY=( $(compgen -W "$outputs" -- "$cur"))
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
|
@ -18,7 +18,7 @@ sync_after_int
|
|||||||
|
|
||||||
|
|
||||||
# Build list of installed packages
|
# Build list of installed packages
|
||||||
if {[assert_exec {dpkg --get-selections | grep \[\[:space:\]\]install$ | cut -f1} packages]} {
|
if {[assert_exec {dpkg --get-selections | command grep \[\[:space:\]\]install$ | cut -f1} packages]} {
|
||||||
assert_complete $packages "dpkg -L "
|
assert_complete $packages "dpkg -L "
|
||||||
}; # if
|
}; # if
|
||||||
|
|
||||||
|
@ -429,7 +429,7 @@ proc get_hosts_avahi {} {
|
|||||||
# Retrieving hosts is successful?
|
# Retrieving hosts is successful?
|
||||||
if { [catch {exec bash -c {
|
if { [catch {exec bash -c {
|
||||||
type avahi-browse >&/dev/null \
|
type avahi-browse >&/dev/null \
|
||||||
&& avahi-browse -cpr _workstation._tcp 2>/dev/null | grep ^= | cut -d\; -f7 | sort -u
|
&& avahi-browse -cpr _workstation._tcp 2>/dev/null | command grep ^= | cut -d\; -f7 | sort -u
|
||||||
}} hosts] } {
|
}} hosts] } {
|
||||||
# No, retrieving hosts yields error;
|
# No, retrieving hosts yields error;
|
||||||
# Reset hosts
|
# Reset hosts
|
||||||
|
Loading…
x
Reference in New Issue
Block a user