Как совместимая тире с ksh?

или вы можете перекомпилировать cmake с поддержкой SSL, потому что в конечном итоге это причина «несоответствия хеша» (статус: [1; «Неподдерживаемый протокол»])

1
задан 24 October 2017 в 10:54

2 ответа

/bin/sh был в течение многих лет на Ubuntu, а FWIW - ksh93 на более новых версиях Solaris, поэтому большинство вещей должно работать. Во всяком случае, режимы POSIX на расширенных оболочках, таких как ksh, более либеральны, чем тире, поэтому некоторые новые функции все еще доступны:

~ for shell in dash bash ksh zsh; do ARGV0=sh POSIXLY_CORRECT=1 $shell -c 'echo -n $0 {a,b,c}; [[ -z $POSIXL_CORRECT ]] && echo typo'; done sh {a,b,c}sh: 1: [[: not found sh a b ctypo -n sh a b c typo sh {a,b,c}typo $ for shell in dash bash ksh zsh; do ARGV0=sh $shell -c 'echo -n $0 {a,b,c}; [[ -z $POSIXL_CORRECT ]] && echo typo'; done sh {a,b,c}sh: 1: [[: not found sh a b ctypo sh a b ctypo sh {a,b,c}typo

Я не думаю, что любой скрипт из пакета в Ubuntu полагается на отсутствие Dash расширения скобы. Быстрый просмотр скриптов в моем /usr/bin не показывает ничего подобного. Существуют и другие современные функции, доступные в POSIX-режимах ksh и bash, поэтому трудно предсказать, не выполнив сценарии с этими оболочками.

Я не вижу никакой пользы для создания /bin/sh be ksh , однако.

1
ответ дан 18 July 2018 в 04:41

/bin/sh был в течение многих лет на Ubuntu, а FWIW - ksh93 на более новых версиях Solaris, поэтому большинство вещей должно работать. Во всяком случае, режимы POSIX на расширенных оболочках, таких как ksh, более либеральны, чем тире, поэтому некоторые новые функции все еще доступны:

~ for shell in dash bash ksh zsh; do ARGV0=sh POSIXLY_CORRECT=1 $shell -c 'echo -n $0 {a,b,c}; [[ -z $POSIXL_CORRECT ]] && echo typo'; done sh {a,b,c}sh: 1: [[: not found sh a b ctypo -n sh a b c typo sh {a,b,c}typo $ for shell in dash bash ksh zsh; do ARGV0=sh $shell -c 'echo -n $0 {a,b,c}; [[ -z $POSIXL_CORRECT ]] && echo typo'; done sh {a,b,c}sh: 1: [[: not found sh a b ctypo sh a b ctypo sh {a,b,c}typo

Я не думаю, что любой скрипт из пакета в Ubuntu полагается на отсутствие Dash расширения скобы. Быстрый просмотр скриптов в моем /usr/bin не показывает ничего подобного. Существуют и другие современные функции, доступные в POSIX-режимах ksh и bash, поэтому трудно предсказать, не выполнив сценарии с этими оболочками.

Я не вижу никакой пользы для создания /bin/sh be ksh , однако.

1
ответ дан 24 July 2018 в 18:08

Другие вопросы по тегам:

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