Script em bash no chatGPT

Quem não gosta de moleza nessa vida? Pedi pro chatgpt escrever um script em bash, porque eu estava com preguiça de fazê-lo. Dei as instruções:

"crie um script em bash para o usuário escolher entre duas opções por meio do teclado. se escolher a opção “A”, pressionando a tecla “a”, mostrar no terminal linux a resposta “Você escolheu a opção A”; se escolher a opção “B”, pressionando a tecla “b”, mostrar no terminal linux a resposta “Você escolheu a opção B”

olhaí a resposta! Meu problema 90% resolvido. Agora é terminá-lo e depois pedir para fazer outro. :stuck_out_tongue_winking_eye:

3 curtidas

Desta vez, para outra tarefa que preciso fazer:

“crie um script em bash que remova todas as linhas com dois traços underline consecutivos, salvando o mesmo arquivo com nome diferente, sequencial 001, 002 etc”:

Gente do céu, que belezura de script! Organizado, bem escrito, explicado, polido e lubrificado! :stuck_out_tongue_winking_eye:

3 curtidas

Massa, eu gosto de usar o chatGPT para criar sample codes assim para estudar, é bem legal mesmo :slight_smile:

2 curtidas

Uso o chatGPT com uma certa frequência para fazer scripts pythoh, shellscript e batch para automação de tarefas.

Processos “simples”, que para mim que não programa seria complicado de fazer, e o que tenho visto principalmente após a inserção do plano plus por parte da empresa é que ele ficou menos assertivo e está esquecendo com frequência sobre a sequência de evolução no decorrer das alterações, tenho que ficar lembrando ele sobre passos anteriores.

Acredito que seja uma consequência de algo implementado para garantir a segurança do sistema contra o uso indevido que esta acontecendo ultimamente ou um downgrade proposital no plano free para que o plano plus exista muito mais vantagens.

aprontei uma na pós-graduação. tô participando num forum e os demais alunos estão interagindo comigo… não, com o chatgpt, sem perceberem que é ele. to me divertindo muito. ngm percebe nada de estranho. kkkkkkkk

No meu caso 90% das vezes sai desastre total, mas eu admito que peço algumas coisas fora da curva.

1 curtida

para construir códigos mais complexos com o chatGPT, é melhor ir fazendo aos poucos, pedindo tudo de uma vez, ele pode fazer alguma confusão

1 curtida

Olha, tem coisas que não tem jeito… são conceitos muito complexos, e não tem como você dizer em “partes” devido a interdependência de regras, por exemplo:

Eu tenho um código Python que necessita rodar um modelo matemático em Fortran, como posso receber uma matriz bidimensional que seria o resultado do modelo Fortran, com ajuda de ISO_C_BIND, cuja as dimensões são apenas conhecidas do lado do modelo Fortran, em tempo de execução. De um resultado em cython pyrex sem usar ctypes.

A partir dai sai groselha… Mas quase tudo envolvendo Fortran ou cython sai groselha pelo que tenho visto, não é um assunto simples e ainda por cima é um nicho.

O jeito é ir para o Google e ficar alguns minutos na documentação do Cython e do numpy.


update: se alguém tem interesse em saber como seria uma possível solução para isso usando fortran2003:

blabla.f90

module api_wrappers
    use iso_c_binding, only: c_float, c_int, c_bool, c_char, c_ptr, c_f_pointer
    ...
    implicit none
    private :: real (c_float), allocatable :: result_aux(:, :)
    private :: integer (c_int) :: result_shape_aux(2) = [0, 0]
    public :: wrapper_run
    public :: wrapper_get_result
    ...

    subroutine wrapper_run (..., result_shape) bind (c)
        ...
        integer (c_int), intent(out) :: result_shape(2)
        call run(..., result_aux, result_shape_aux)
        result_shape = [size(result_shape_aux, 1), size(result_shape_aux, 2)]
        result_shape_aux = result_shape
    end subroutine

    subroutine wrapper_get_result (result_table) bind (c)
        real (c_float), intent (out) :: result_table(result_shape_aux(1), result_shape_aux(2))
        result_table = result_aux
    end subroutine
    ...
end module

blabla.pyx

from libcpp cimport bool
from libc.stdlib cimport malloc
import numpy as np

cdef extern from "stdbool.h":
    pass

cdef extern void wrapper_run(
        ...,
        int[2] result_shape
    );

cdef extern void wrapper_get_result(
        float* result_table
    );

def run(...):
    ...
    cdef int[2] rt_shape = [0, 0]
    wrapper_run(..., rt_shape)
    cdef float[:, :] result_table = np.zeros(rt_shape, dtype=np.float32, order='F')
    wrapper_get_result(&result_table[0, 0])
    result_table = np.asarray(result_table)
    ...

1 curtida

Este tópico foi fechado automaticamente. Novas respostas não são mais permitidas.