В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте netology.ru.
Важно: перед отправкой переименуйте ваш скрипт в script.txt
(система отправки файлов Netology блокирует файлы с расширением .ps1
).
Напишите два скрипта, каждый из которых принимает один параметр и:
-
первый - прибавляет к параметру единицу как строку.
Например:
./test_1.ps1 5
51
-
второй - прибавляет к параметру единицу как число.
Например:
./test_2.ps1 5
6
Напишите скрипт, который выводит содержимое каталога и подсчитывает в нём количество файлов.
Например:
./test_dir.ps1
admin_scripts
...
Videos
Total: 22
Напишите скрипт, который принимает один параметр и определяет, какой объект передан этим параметром (файл, каталог или не существующий).
Например:
./test.ps1 c:\windows
c:\windows - dir
./test.ps1 c:\pagefile.sys
c:\pagefile.sys - file
user@user:~$./test.ps1 c:\windows1
c:\windows1 - not exist
Пользователи в нашей компании начали пересылать друг другу некие "секретные" сообщения. Т.к. доступа к средствам криптографии у них нет, для "шифрования" они используют преобразование строк в формат Base64.
Написать скрипт, который:
- принимает на входе два аргумента. Первый - режим преобразования, второй - строка;
- если первый параметр равен
crypt
- преобразует второй параметр в строку Base64; - если первый параметр равен
decrypt
- преобразует второй параметр в текст; - если первый параметр равен любой другой строке - выйти из скрипта с ненулевым кодом возврата и сообщить об этом пользователю;
- если количество параметров скрипта не равно двум - выйти из скрипта с ненулевым кодом возврата выдать сообщение пользователю и завершить работу.
Пример работы:
$ ./script.ps1 crypt test
Encrypting...
dGVzdAo=
$ ./script.ps1 decrypt dGVzdAo=
Decrypting...
test
Подсказки Для работы со строками можно использовать следующие команды:
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes(<строка>))- преобразование в формат base64
[Text.Encoding]::Utf8.GetString([Convert]::FromBase64String(<строка>))- преобразование в текст