Como copiar um script em execução da pasta atual para outro clicando duas vezes

0

Como devemos copiar um script de execução de uma pasta para outra?

O conteúdo do script é:

#!/bin/sh

zenity --forms --title="Add Friend" \
    --text="Enter information about your friend." \
    --separator="," \
    --add-entry="First Name" \
    --add-entry="Family Name" \
    --add-entry="Email" \
    --add-calendar="Birthday" >> addr.csv

case $? in
    0)
        echo "Friend added.";;
    1)
        echo "No friend added."
    ;;
    -1)
        echo "An unexpected error has occurred."
    ;;
esac

Digamos que salvei o script acima como test.sh in home/user/Documents/sh/ e quando executo test.sh clicando duas vezes, ele deve se copiar para a meow folder home/user/wow/meow/ .

    
por potholiday 15.06.2015 / 12:24

2 respostas

5

Não sei por que você gostaria de fazer isso, mas você pode lidar com isso de maneira um pouco mais elegante do que com uma cópia não processada.

mkdir -p $HOME/wow/meow
cp "$(readlink -f $0)" "$HOME/wow/meow"
  • Ele está usando $HOME , por isso não dependemos de um caminho codificado (moderadamente mais confiável do que a substituição ~ para scripts).
  • Verificamos se o diretório de destino existe (e criá-lo, caso contrário).
  • Obtemos o local real do script em vez de confiar em um caminho codificado.
por Oli 15.06.2015 / 12:42
2

Adicione uma linha no script para se copiar:

cp /home/user/Documents/sh/test.sh home/user/wow/meow/
    
por Maythux 15.06.2015 / 12:26