Criando um script dotfile

1

Eu fiz esta pergunta no SO e não fui muito longe; aqui está a versão atual do meu script e o que eu gostaria de fazer. Sugestões para depuração e teste são o que estou procurando. Eu provavelmente vou remover -fn enquanto estiver trabalhando nisso, pois isso só atrapalha - tive que mover os arquivos para um diretório temporário e depois voltar novamente para que qualquer coisa funcionasse.

#!/bin/bash

set -e

function makeLinks() {
    ln -sfn ~/Documents/Dotfiles/.bash_profile ~/.bash_profile\
    ln -sfn ~/Documents/Dotfiles/.gitconfig ~/.gitconfig\
    ln -sfn ~/Documents/Dotfiles/.gitignore_global ~/.gitignore_global
    source ~/.bash_profile;
    }

    read -rp "This may overwrite existing files. Are you sure? (y/n) " -n 1;
    echo "";
    if [[ $REPLY =~ ^[Yy]$ ]]; then
        makeLinks
    fi;
    
por Chris 22.09.2016 / 16:19

1 resposta

1

Para expandir o comentário: as barras invertidas à direita fazem com que os três comandos ln sejam tratados como uma linha. Você não quer isso. Você quer três linhas diferentes. Então, quando eu ecoo as três linhas aqui é como elas são analisadas.

$ echo ln -sfn ~/Documents/Dotfiles/.bash_profile ~/.bash_profile\
>     ln -sfn ~/Documents/Dotfiles/.gitconfig ~/.gitconfig\
>     ln -sfn ~/Documents/Dotfiles/.gitignore_global ~/.gitignore_global
ln -sfn /cygdrive/d/home/prateek/Documents/Dotfiles/.bash_profile /cygdrive/d/home/prateek/.bash_profile ln -sfn /cygdrive/d/home/prateek/Documents/Dotfiles/.gitconfig /cygdrive/d/home/prateek/.gitconfig ln -sfn /cygdrive/d/home/prateek/Documents/Dotfiles/.gitignore_global /cygdrive/d/home/prateek/.gitignore_global

Você pode ver como a saída do echo todos os comandos estão listados em uma linha. Remover as barras invertidas não causará esse comportamento. Cada comando será tratado separadamente.

    
por 22.09.2016 / 16:45
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warning – yii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '855259',
    'url' => 'creating-a-dotfile-script',
];

$_COOKIE = [
    'advanced-frontend' => 'p2megoge9e1sgd66rgpjc2nm5m',
    '_csrf-frontend' => '534433a259c80772690fe80cff16a5c302c00088e0c8c3d757a67d0d0a86117da:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"7L7xDrYXuU4sqfd3xZ-h-1sgkiSfrXJZ";}',
];

$_SESSION = [
    '__flash' => [],
];