Unix - ksh тестирует, если несколько переменных 0

Что ты получаешь от А: yum search pptp ppp это что-нибудь вроде:

[root@localhost src]# yum search pptp ppp
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.openitc.uk
 * extras: centos.hyve.com
 * updates: centos.openitc.uk
===================================================================== N/S matched: pptp ======================================================================
pptp.x86_64 : Point-to-Point Tunneling Protocol (PPTP) Client
pptp-setup.x86_64 : PPTP Tunnel Configuration Script
pptpd.x86_64 : PoPToP Point to Point Tunneling Server

====================================================================== N/S matched: ppp ======================================================================
ppp-devel.i686 : Headers for ppp plugin development
ppp-devel.x86_64 : Headers for ppp plugin development
rp-pppoe.x86_64 : A PPP over Ethernet client (for xDSL support).
ppp.x86_64 : The Point-to-Point Protocol daemon
wvdial.x86_64 : A heuristic autodialer for PPP connections

  Name and summary matches mostly, use "search all" for everything.
[root@localhost src]#

Если это так, то просто набирайте: yum установите pptp pptp-setup -y

Если не просто вручную вытащить нужные пакеты (в настоящее время на поптопе нет сборки rhel7, так что fc20, скорее всего, будет достаточно), например:

cd /usr/local/src
wget http://poptop.sourceforge.net/yum/stable/packages/ppp-2.4.5-33.0.fc20.x86_64.rpm
wget http://poptop.sourceforge.net/yum/stable/packages/pptp-release-4-7.fc20.noarch.rpm
rpm -Uhv ppp-2.4.5-33.0.fc20.x86_64.rpm pptp-release-4-7.fc20.noarch.rpm

Затем заполните пробелы и вставьте лот в приглашение оболочки:

yourUsername=xxxxxxxx
yourPassword=yyyyyy
vpnServer="111.222.333.444"

modprobe ppp_mppe

mv /etc/ppp/peers/pptpserver /etc/ppp/peers/pptpserver.bak
cat > /etc/ppp/peers/pptpserver <<EOF
pty "pptp $vpnServer --nolaunchpppd"
name $yourUsername
password $yourPassword
remotename PPTP
require-mppe-128
EOF

chmod 600 /etc/ppp/peers/pptpserver
restorecon -Rv /etc/ppp/peers

Наконец, начинайте соединение:

pppd call pptpserver
1
27.01.2019, 02:16
3 ответа

Без полномочий он работает. Неважно, суперпользователь вы или обычный пользователь. Но поскольку вы вводите полномочия для root, то, скорее всего, введенный пароль неверен или у вас просто нет разрешения на доступ к этой странице

-121--145699-

Вы можете просмотреть /etc/security/limits.conf . Вы сможете ограничить ресурсы по пользователям или группам (т.е. максимальное количество открытых файлов, ограничение памяти и так далее...).

Пользователь сможет увидеть свои «пределы», запустив ulimit -a . Если указать мягкий предел для него, он сможет изменить его с помощью этой же команды.

Можно также изменить хороший приоритет их процесса.

См.:

man ulimit
man limits.conf
-121--217411-

Если требуется проверить, что одна из этих переменных не является 0, то необходим оператор | | . Не & & .

$ if [[ 1 -ne 0 && 0 -ne 0 && 0 -ne 0 ]] ; then echo "There is something terribly wrong.";  fi

$ if [[ 1 -ne 0 || 0 -ne 0 || 0 -ne 0 ]] ; then echo "There is something terribly wrong.";  fi
There is something terribly wrong.
1
27.01.2020, 23:50

Для проверки, не равна ли какая-либо из переменных 0, используйте оператор или || (как уже предлагалось):

if [[ $result -ne 0 || $resultmax -ne 0 || $resultmin -ne 0 ]]
then
    echo "There is something terribly wrong."
fi

Хотя, если Вы занимаетесь числовыми вычислениями и используете ksh (или bash, или zsh), то для большей ясности Вы, возможно, предпочтете использовать этот синтаксис:

if (( result != 0 || resultmax != 0 || resultmin != 0 ))
then
    printf "%s\n" "There is something terribly wrong."
fi
0
27.01.2020, 23:50

Теперь вы тестируете, если все переменные не являются 0, чтобы сообщить об ошибке. Попробуй:

if [[ $result -ne 0 || $resultmax -ne 0 || $resultmin -ne 0 ]]
then
    echo "There is something terribly wrong."
fi
0
27.01.2020, 23:50

Теги

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