Включение HTTPS для pentaho bi-server - Tomcat

  1. Символ (или набор, или диапазон) для удаления задается аргументом флагов -r, поэтому нет необходимости считывать его.
  2. Имя файла (если есть) остается в позиционном аргументе после завершения обработки командной строки.
  3. Не обрабатывать файл, если вы еще не закончили обработку флагов командной строки.
  4. Строка параметра для getopts указана наоборот.

Решение:

#!/bin/bash

# Process command line.
#   Store r-flag's argument in ch,
#   Exit on invalid flags.
while getopts 'r:' opt; do
    case "$opt" in
        r) ch="$OPTARG" ;;
        *) echo 'Error' >&2
           exit 1 ;;
    esac
done

# Make sure we got r-flag.
if [[ -z "$ch" ]]; then
    echo 'Missing -r flag' >&2
    exit 1
fi

# Shift positional parameters so that first non-flag argument
# is left in $1.
shift "$(( OPTIND - 1 ))"

if [[ -f "$1" ]] || [[ -z "$1" ]]; then
    # $1 is a (regular) file, or unset.
    # Use file for input, or stdin if unset.
    cat "${1:--}" | tr -d "$ch"
else
    # $1 is set, but not a filename, pass it as string to tr.
    tr -d "$ch" <<<"$1"
fi

Это будет использоваться как

$ ./script -r 'a-z' file

(удаляет все символы нижнего регистра в файле )

$ ./script -r 'a-z' "Hello World!"

(удаляет все символы нижнего регистра в заданной строке, если это не происходит быть именем файла)

$ ./script -r 'a-z'

(удаляет все символы нижнего регистра в стандартном потоке ввода)

1
01.07.2016, 17:20
1 ответ

В случае, если эта проблема все еще не решена... запуск tomcat с https через порт 443 требует запуска приложения от имени пользователя root. для pentaho 7.0+ это больше невозможно, поэтому вам придется придерживаться обходных путей (порты < 1024 являются портами с ограниченным доступом, пользователи без полномочий root не могут использовать их без разрешения ), например authbind.

0
28.01.2020, 01:14

Теги

Похожие вопросы