Criando um script Bash para definir o papel de parede da área de trabalho como gif animado - o que esses erros significam?

0

Eu estava seguindo este tutorial para ver se eu poderia transformar meu papel de parede no Ubuntu em um gif animado. No tutorial, copiei e colei um script que supostamente me permitiria fazer isso. Tudo está bem até eu tentar executar o script.

Este é o script:

    #!/bin/sh
    # Uses xwinwrap to display given animated .gif in the center of the screen

    chmod +x gifbg.sh

    if [ $# -ne 1 ]; then
    echo 1>&2 Usage: $0 image.gif
    exit 1
    fi

   #get screen resolution
   SCRH='xrandr | awk '/current/ { print $8 }''
   SCRW='xrandr | awk '/current/ { print $10 }''
   SCRW=${SCRW%\,}

   #get gif resolution
   IMGHW='gifsicle --info $1 | awk '/logical/ { print $3 }''
   IMGH=${IMGHW%x*}
   IMGW=${IMGHW#*x}

   #calculate position
   POSH=$((($SCRH/2)-($IMGH/2)))
   POSW=$((($SCRW/2)-($IMGW/2)))

   xwinwrap -g ${IMGHW}+${POSH}+${POSW} -ov -ni -s -nf — gifview -w WID $1 -a

   exit 0

   :wq

Quando tento executar o script no terminal, ele retorna o seguinte:

    gifbg.sh: 23: gifbg.sh: arithmetic expression: expecting primary: "(1366/2)-(/2)"

Quando eu executo o gifsle com a imagem especificada no terminal, ele retorna o seguinte:

    * /home/bc/Pictures/tvStatic.gif 4 images
    logical screen 500x375
    global color table [256]
    background 0
    loop forever
    + image #0 500x375
    disposal previous delay 0.08s
    + image #1 500x375
    local color table [256]
    disposal previous delay 0.08s
    + image #2 500x375
    local color table [256]
    disposal previous delay 0.08s
    + image #3 500x375
    local color table [256]
    disposal previous delay 0.08s
    
por Brandon Copeland 11.03.2015 / 03:51

1 resposta

0

Os três primeiros erros são porque você tem caracteres não-ASCII (e ) em seu script - é necessário substituí-los por aspas simples regulares '

O quarto é provável porque o seu shebang #!/bin/sh está invocando o interpretador dash , não bash : consulte DashAsBinSh

    
por steeldriver 11.03.2015 / 04:04