Отказано в доступе к Linux

No puedes. La forma de que falle un casees reemplazar el separador ;;con;&(o;;&). Y es un error de sintaxis poner eso dentro de un si.

Podría escribir toda la lógica como un condicional regular:

if [ "$input" != "foo" ] || [ "$VAR" = 1 ]; then
    one branch...
else   # $input = "foo" && $VAR != 1
    another branch...
fi
0
06.07.2019, 07:37
1 ответ

echoи cdявляются встроенными командами оболочки, поэтому они все еще «выполняются».

Чтобы исправить fstab, выполните команду

while read x; do echo "$x"; done < /etc/fstab

, который отобразит содержимое /etc/fstab, затем запустите

while read x; do echo "$x"; done > /etc/fstab

который будет затирать/etc/fstab(очень плохую вещь ), но позволит вам заменить его тем, что вы набираете на терминале.

Затем введите (или, если вам повезет, скопируйте и вставьте )исходное содержимое /etc/fstab, измененное так, чтобы вы могли снова выполнить что-то в корневой файловой системе.

Прервите ввод с помощью Control -D (или любого другого символа tty eof ), затем перезагрузите (или перезагрузите/включите -цикл )компьютера.

Чистая перезагрузка может оказаться сложной, потому что для этого потребуется запустить что-то, поэтому вам может потребоваться перезагрузить/включить -цикл -, но это может быть рискованно, если буферный кеш не был сброшен на диск.... лучшее, что вы можете сделать, это дать ему немного времени, прежде чем делать это.

1
28.01.2020, 02:39

Теги

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