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

Линукс bash
Написать простейший bash скрипт, который выведет текст, представленный в качестве аргумента, имя редактора, использованного для создания файла, и будет ли текст длиной более 10 символов в одной строке, разделенный точкой с запятой и заключенный в двойные кавычки (например, somescript this is text should output "this is text"; "nano"; "more then 10 symbols").


fivaproldzh1337: Аргументом скрипту является файл?
fivaproldzh1337: Или скрипт создает файлик?
fivaproldzh1337: А, понял)
fivaproldzh1337: Я не уверен, что можно таким образом использовать текстовые редакторы. Могу ли я уточнить, вам это задание где-то задали или оно нужно для ваших личных нужд?
newdp99: Сам пробую. Вот оригинал Use nano editor to create script from the scratch which will output the text provided as an argument, the name of the editor used to create the file and whether or not the text is longer then 10 symbols on the same line divided by semicolons and surrounded by double quotes (e.g. somescript this is text should output "this is text"; "nano"; "more then 10 symbols").
newdp99: !/bin/bash

echo "\"${1}\";\"nano\";\"more then 10 symbols\""| head -n 1 | cut -c -10
Тут выводит, но не так как нужно
newdp99: somescript this is text should output "this is text"; "nano"; "more then 10 symbols") вот так нужно чтобы вывело

Ответы

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

#!/bin/bash

if [ `echo "$1" | awk '{print length}'` -gt 10 ]

then

   echo '"$1";"nano";"more than 10 symbols"'

else

   echo '"$1";"nano";'

fi

#Если я правильно понял, что нужно


fivaproldzh1337: Чуть занят, через час разберусь
newdp99: у вас в итоге выводит "this is text"; "nano"?
newdp99: ок
newdp99: надо чтобы вывело то, что ты передаешь в скрипт в качестве аргумента
fivaproldzh1337: Вот на такую строчку замените echo \"$1\"';"nano";"more than 10 symbols"'
newdp99: так? !/bin/bash
read var;
echo $var;
if [ `echo "$1" | awk '{print length}'` -gt 10 ]

then

echo \"$1\"';"nano";"more than 10 symbols"'

else

echo '"$1";"nano";'

fi
fivaproldzh1337: Да
fivaproldzh1337: И второй echo аналогично измените
newdp99: спасибо, я сделал по-другому кстати
newdp99: #!/bin/bash

if [ `echo "$1" | awk '{print length}'` -gt 10 ]

then

echo '"'$1'"'";"'"'nano'"'";"'"'more than 10 symbols'"'

else

echo $1';"nano";'

fi
Похожие вопросы
Предмет: Математика, автор: akulovak1605
Предмет: Математика, автор: ksenanazarhyk