[
https://issues.apache.org/jira/browse/HADOOP-19758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18089505#comment-18089505
]
ASF GitHub Bot commented on HADOOP-19758:
-----------------------------------------
ctubbsii commented on code in PR #8387:
URL: https://github.com/apache/hadoop/pull/8387#discussion_r3424137578
##########
hadoop-common-project/hadoop-common/src/main/bin/hadoop-functions.sh:
##########
@@ -375,9 +375,11 @@ function hadoop_generic_columnprinter
if [[ -n "${COLUMNS}" ]]; then
numcols=${COLUMNS}
- else
- numcols=$(tput cols) 2>/dev/null
- COLUMNS=${numcols}
+ elif command -v tput >/dev/null 2>&1; then
+ numcols=$(tput cols 2>/dev/null)
+ if [[ "${numcols}" =~ ^[0-9]+$ ]]; then
+ COLUMNS=${numcols}
+ fi
Review Comment:
This code change looks fine, but I'm not sure how useful it is. tput is
pretty common, and it's really not a problem to assume it's there as a
prerequisite.
That said, the curlies and the quotes on the left side of the if statement
aren't needed, nor are the curlies in the assignment to COLUMNS, but there
seems to be an excess of these unnecessary things throughout the script, so
these aren't really that much of a problem.
##########
hadoop-common-project/hadoop-common/src/test/scripts/hadoop_subcommands.bats:
##########
Review Comment:
I don't know how the test works, so I didn't check it.
> Hadoop shell scripts rely on ncurses in some distros
> ----------------------------------------------------
>
> Key: HADOOP-19758
> URL: https://issues.apache.org/jira/browse/HADOOP-19758
> Project: Hadoop Common
> Issue Type: Improvement
> Reporter: Edward Capriolo
> Priority: Major
> Labels: pull-request-available
>
>
> {code:java}
> Client Commands:
> /opt/hadoop/bin/../libexec/hadoop-functions.sh: line 379: tput: command not
> found
> archive-logs combine aggregated logs into hadoop archives {code}
> From
> {code:java}
> else
> numcols=$(tput cols) 2>/dev/null
> - /opt/hadoop/bin/../libexec/hadoop-functions.sh [Readonly] 379/2774 13%
> {code}
> In
> [Alpine Linux|https://www.alpinelinux.org/], the {{tput}} command is part of
> the *{{ncurses}}* package and is not installed by default. The {{tput}}
> utility is used by shell scripts to control terminal features like colors and
> text positioning in a portable way
> Possibly consider removing this from shell scripts.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]