Запустить процесс перед открытием файла

man git-config говорит:

Синтаксис довольно гибкий и разрешающий; пробелы в основном игнорируются. # И; символы начинают комментарии до конца строки, пустые строки игнорируются.

Итак:

branch-excise = !bash -c 'git branch -D $1; git push origin --delete $1'

эквивалентно:

#!/usr/bin/env bash

bash -c 'git branch -D $1

Запуск приведенного выше сценария выводит:

/tmp/quote.sh: line 3: unexpected EOF while looking for matching `''
/tmp/quote.sh: line 4: syntax error: unexpected end of file

Одно из решений - поместить всю команду в ":

branch-excise = !"bash -c 'git branch -D $1; git push origin --delete $1'"

Однако это все равно не не работает, потому что $ 1 пуст:

$ git branch-excise master
fatal: branch name required
fatal: --delete doesn't make sense without any refs

Чтобы заставить его работать, вам нужно создать фиктивную функцию в .gitconfig и называть ее так:

branch-excise = ! "ddd () { git branch -D $1; git push origin --delete $1; }; ddd"

Использование:

$ git branch-excise  master
error: Cannot delete the branch 'master' which you are currently on.
(...)
1
06.06.2018, 11:43
1 ответ

Para detenerte, como root, para deshacer el bloqueo de un sitio web, tendrás que ceder el control del proceso de bloqueo y desbloqueo e involucrar a otro ser humano.

La ​​solución radical sería simplemente ceder los privilegios de root en la máquina a algún otro ser humano de confianza, y al menos restringir severamente las operaciones disponibles que puede realizar a través de sudo. En un sistema Unix, prácticamente todo el software se puede instalar en el directorio de inicio de uno, si uno está dispuesto a hacerlo.

La otra solución es mover el proceso de bloqueo real de la máquina por completo y dejar que lo maneje un equipo separado, como un enrutador bloqueado -. Tenga en cuenta que el enrutador también necesitaría bloquear los túneles a través de SSH y otras formas creativas de conectarse a través de otras máquinas.

La protección de la configuración del enrutador y el acceso físico también incluiría la protección de la salida de la red externa para no permitirle manipular el bloqueo desenchufando el enrutador y pasándolo por alto con un cable de ethernet.

La clave para acceder al enrutador y la contraseña de administrador del enrutador no estarían en su posesión.

También podría haber algo que se podría hacer con máquinas virtuales o contenedores (o posiblemente incluso solo un chroot ), de modo que la conexión externa esté protegida por "otro sistema" (la máquina host )al que no tiene fácil acceso, mientras trabaja en la máquina virtual o en el contenedor.

Creo que este es el límite de las soluciones técnicas a su problema. Como tales, no se limitan a los sistemas Unix. El siguiente paso sería trabajar con el comportamiento personal de otras maneras, como cambiar la forma en que trabajas (, estar siempre visible para alguien a quien le importe ), o buscar ayuda externa de un terapeuta conductual o similar.

0
28.01.2020, 00:33

Теги

Похожие вопросы