2017-02-02 6 views
1

Я учусь работать с Linux, но он не работает изМои SH коды не работают, помогают нужна

Сценарий 1, сделал работу, пока я не обновил OpenSUSE:

#!/bin/bash 
useradd Test 
passwd Test123 
mkhomedir_helper Test 

(он теперь говорит, что все эти команды не существует)

Script 2, я могу только в моей консоли MySql, и он не выполняет все:

#!/bin/bash 
mysql -u root -ppassword 
sleep 3 
CREATE USER 'Test'@'localhost' IDENTIFIED BY 'password' 

я бы очень признателен за помощь здесь, так как я новичок в Linux

ответ

1

Выполнить следующую CMD:

echo $PATH 

Вывод должен быть перечислить некоторые пути, как показано ниже

/Usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 

Если нет, то запустите ниже команды:

export PATH="/Usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" 

Теперь попробуйте запустить над скриптом-1, если он все еще дает с той же ошибкой, тогда вам не хватает некоторых пакетов, установите пакет «pam», содержащий двоичные файлы mkhomedir_helper, поэтому выполните следующую команду для установки pam.

zypper in pam 

Script 2, чтобы запустить MySQL запрос из командной строки или сценария оболочки, необходимо использовать '-e' вариант, измените сценарий 2, как показано ниже:

#!/bin/bash 
mysql -u root -ppassword -e 'CREATE USER "Test"@"localhost" IDENTIFIED BY "password"' 
+0

Сценарий 1 не что-то, что я могу проверить atm, поскольку я использую opensuse в виртуальном боксе на очень надежном компьютере (так что мне придется протестировать это позже), но Script 2 работает очень хорошо без ошибок, спасибо! – Thomasttw

+0

Любая идея, как я могу добавить (к скрипту 2) небольшую строку, чтобы создать базу данных для пользователя, которого я только что создал, и предоставить ему права, которые вам нужны? – Thomasttw

+0

Добавьте следующую строку (mydb is db name): mysql -u root -ppassword -e 'GRANT ALL ON mydb. * TO "Test" @ "localhost"' – MicroPyramid

Смежные вопросы