Предмет: Информатика, автор: Trap28

Линукс
Тут должен быть не вывод текста на экран, а конкретные цифры, т.е. вводишь 1 - скрипт присваивает значение переменной, любой, например а=10

вводишь 2 - скрипт выводит значение этой переменной, и .д.


Само задание:

Create script which will ask user to provide a value and then, according to the value provided:


1 - set some environmental variable

2 - output this environmental variable

3 - erase this environmental variable

4 - exit without errors

Any other - exit with error

Код:

#!/bin/bash

while true

do

echo "1 - set some environmental variable

2 - output this environmental variable

3 - erase this environmental variable

4 - exit without errors"

read vop;

case $vop in


1)echo "Write anywere"

read var1;

;;

2) echo $var1

;;

3) unset var1

;;

*) break

exit 0

;;

esac

done


fivaproldzh1337: Сделаю, но хочу уточнить: надо создавать именно переменную окружения?
Trap28: Да
fivaproldzh1337: В плане юзать export или не нужно?
fivaproldzh1337: Ладно, судя по тому, что вы написали не нужно, но если что исправлю
fivaproldzh1337: Ну и выход с ошибкой означает, что код ошибки != 0, как я понимаю
Turokey: можешь объяснить, где идет присвоение значений переменным?

Ответы

Автор ответа: fivaproldzh1337
1

#!/bin/bash

echo -e "[1] Set some env var\n[2] Write this env var\n[3] Erase this env var\n[4] Exit"

while true; do

   read -p "What you want? " menu

   case $menu in

       1) read var

       ;;

       2) echo $var

       ;;

       3) unset var

       ;;

       4) break

       ;;

       *) exit 1

       ;;

   esac

done

exit 0

#Если что-то не так как вы бы хотели работает - пишите, исправлю


fivaproldzh1337: Если нужна переменная окружения, то добавьте export после инициализации, хотя я, конечно, могу ошибаться, но мне кажется вы путаете переменные окружения с чем-то другим
Trap28: line 11: syntax error near unexpected token `)'
fivaproldzh1337: У меня отрабатывает возможно когда копировал сюда что-то поломалось, могу залить на пастебин и скинуть ссылку в лс
Trap28: Да, пожалуйста
fivaproldzh1337: Они выключили лс, но вот тогда 32skkLkb/moc.nibetsap//:sptth
fivaproldzh1337: Ну и как пруф, что оно работает, можно проверять на любой онлайн IDE, например hsab/segaugnal/ti.lper//:sptth
fivaproldzh1337: Жесть, надеюсь на Знаниях за такое не убивают
Trap28: можешь объяснить, где идет присвоение значений переменным? т.е. вводишь 1 - скрипт присваивает значение переменной, любой, например а=10
fivaproldzh1337: Присвоение переменной? read var1;
fivaproldzh1337: Это тоже самое, что и a =10; Только значение берем из stdin
Похожие вопросы