Ваша проблема в том, что [«Да»]
и [«Нет»]
эквивалентны [-n «Да»]
и [-n «Нет»]
и поэтому всегда оценивается как истина.
Правильный синтаксис:
if [ "$th" = "yes" ] || [ "$th" = "Yes" ]; then
...
if [ "$th" = "no" ] || [ "$th" = "No" ]; then
Или:
if [ "$th" = "yes" -o "$th" = "Yes" ]; then
...
if [ "$th" = "no" -o "$th" = "No" ]; then
Или, если вы используете bash
в качестве интерпретатора оболочки Борна:
if [ "${th,,}" = "yes" ]; then
...
if [ "${th,,}" = "no" ]; then
( $ {th ,,}
заменяется строчным значением переменной th
)
/proc хранит значения в оперативной памяти, поэтому он не является постоянным. Но он считывает свои начальные значения из файла. Вы можете навсегда изменить значение /proc/sys/kernel/yama/ptrace_scope на 0, отредактировав файл /etc/sysctl.d/10-ptrace.conf
и изменив строку:
kernel.yama.ptrace_scope = 1
На
kernel.yama.ptrace_scope = 0
Если изменение не отражается в области /proc/sys/kernel/yama/ptrace _, попробуйте выполнить:
echo "0"|sudo tee /proc/sys/kernel/yama/ptrace_scope