Как отключить команду «стоп» от чего-либо?

Вот решение, которое проверяет md5sum один раз и сравнивает его с загруженным файлом, с возможностью удаления файла, если суммы md5 не совпадают. Он должен обратиться к жалобам на безопасность с ответа Арды.

#!/bin/bash
if [[ -z $1 ]]; then
  printf "Usage: ./scriptname <file or url> <optional output filename>\n"
  exit 1
fi

resource=$1
md5=`curl --silent --location ${resource} | md5sum | awk '{ print $1 }'`
filename="$(date +%Y-%M-%d-%H-%m-%s-file)"
if [[ -n $2 ]]; then
  filename=$2
fi
curl --silent --location $resource -o $filename
md52=`md5sum $filename | awk '{ print $1 }'`

if [[ $md5 == $md52 ]]; then
  printf "File sums match.\n"
  printf "Saved file to $filename\n"
else
  printf "File sums don't match.\n"
  #wrapping line to add newline, ugly, but it works
  read -rep "Delete file?
  " -n 1
fi

if [[ $REPLY =~ ^[Yy]$ ]]; then
  rm $filename
  exit 1
else
  exit 0
fi

Сохраните это в файле, таком как safer-curl.sh, затем выполните chmod +x safer-curl.sh. Затем выполните следующее:

./safer-curl.sh <file or url> <optional output filename>

Проверено на Ubunt 12.04 [!d2 ]

0
задан 7 August 2017 в 18:15

3 ответа

Не «отключить», а «маску».

Обратите внимание, что stop - /sbin/stop. Посмотрите на свой $PATH (echo $PATH | tr ":" "\n"). Вместо этого будет выполнено любое имя с именем stop в каталоге в вашем PATH, который раньше. Если ~/bin ранее, вы можете создать ~/bin/stop, содержащий:

#!/bin/bash
echo "To really run 'stop', type '/sbin/stop`"
exit 0

или

Определить псевдоним в вашем ~/.bashrc:

alias stop="echo \"To really run 'stop', type '/sbin/stop`\""
3
ответ дан 22 May 2018 в 19:43

Не «отключить», а «маску».

Обратите внимание, что stop - /sbin/stop. Посмотрите на свой $PATH (echo $PATH | tr ":" "\n"). Вместо этого будет выполнено любое имя с именем stop в каталоге в вашем PATH, который раньше. Если ~/bin ранее, вы можете создать ~/bin/stop, содержащий:

#!/bin/bash echo "To really run 'stop', type '/sbin/stop`" exit 0

или

Определить псевдоним в вашем ~/.bashrc:

alias stop="echo \"To really run 'stop', type '/sbin/stop`\""
3
ответ дан 18 July 2018 в 08:56

Не «отключить», а «маску».

Обратите внимание, что stop - /sbin/stop. Посмотрите на свой $PATH (echo $PATH | tr ":" "\n"). Вместо этого будет выполнено любое имя с именем stop в каталоге в вашем PATH, который раньше. Если ~/bin ранее, вы можете создать ~/bin/stop, содержащий:

#!/bin/bash echo "To really run 'stop', type '/sbin/stop`" exit 0

или

Определить псевдоним в вашем ~/.bashrc:

alias stop="echo \"To really run 'stop', type '/sbin/stop`\""
3
ответ дан 24 July 2018 в 19:12

Другие вопросы по тегам:

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