dirname opção inválida 'b'

3

Por que estou recebendo este erro, estou tentando obter este set.conf

user@connect:~/testenv$ source $(cd $(dirname $0) && pwd)"/set.conf"
dirname: invalid option -- 'b'
Try 'dirname --help' for more information.
-bash: /home/tempuser/set.conf: No such file or directory

Eu tentei adicionar - $ 0 no prompt de comando funciona bem, mas. Como posso executar isso no script?

    
por Mongrel 02.02.2017 / 08:12

1 resposta

7

$0 dentro de um script é o nome do script.

No prompt, é o nome do shell, que provavelmente é -bash no seu caso.

dirname está tratando o traço principal como introduzindo uma opção de linha de comando, -b , que ele não suporta.

  1. O código que você está usando não funcionará no prompt. Você pode colá-lo dentro de um arquivo e executar o arquivo.
  2. Experimente dirname -- $0 : a maioria dos comandos permite escrever -- para tratar tudo o que segue como parâmetros em vez de opções. Nesse caso, isso não corrigirá o problema, mas deverá deixar claro qual é o problema.
por 02.02.2017 / 08:26

Tags