/ bin / sh: definição da função de importação de erros para 'alguma função'

11

Encontrei este erro ao atualizar o bash para o problema de segurança do CVE-2014-6271:

# yum update bash
Running transaction (shutdown inhibited)
Updating   : bash-4.2.47-4.fc20.x86_64
/bin/sh: error importing function definition for 'some-function'
    
por D McKeon 25.09.2014 / 20:37

2 respostas

14

[editado após o 1º comentário de: @chepner - obrigado!]

/ bin / bash permite hífens em nomes de função, / bin / sh (shell Bourne) não. Aqui, a "função" ofensiva foi exportada por bash, e  bash chamado yum que chamou / bin / sh que relatou o erro acima.

consertar: renomear as funções do shell para não ter hífens

man bash diz que os identificadores do bash podem consistir em: "apenas de caracteres alfanuméricos e sublinhados"

O erro / bin / sh é muito mais explícito:

some-function () { :; }

sh: 'alguma função': não é um identificador válido

    
por 25.09.2014 / 20:37
0

Alterar / Corrigir o nome da função de "foo-bar" para "foo_bar"

É a convenção de nomenclatura que bash é aceitável, onde sh não é.

Substitua o "-" (hífen / hífen / traço / menos) por "_" (sublinhado), o erro será corrigido e o código funcionará tanto em bash como em sh

    
por 05.04.2017 / 01:56