Como detectar o interpretador de comandos a partir de um script de shell? [duplicado]

3

Eu quero detectar qual interpretador um script de shell está usando. Por exemplo, o seguinte script:

#!/bin/bash

issue_interpreter_name()

Deve revelar o intérprete:

bash
    
por Ingo 03.05.2012 / 11:46

2 respostas

7

#!/bin/sh  
ps h -p $$ -o args='' | cut -f1 -d' '
  • ps lista de processos
  • h não imprime cabeçalhos de coluna
  • -p <PID> list apenas ID do processo PID
  • $$ foi substituído pelo shell com o atual PID
  • -o args imprime a linha de comando, nenhuma outra informação
  • cut corta a saída em partes
  • -f1 imprime apenas o primeiro campo
  • -d' ' usa um espaço como separador de campo

    $ ./testje

    /bin/sh

por 03.05.2012 / 20:27
-1

Se for um usuário local, o 7º campo de / etc / passwd é o shell. Você está procurando a casca atualmente preferida?

    
por 03.05.2012 / 14:00