Size: a a a

2021 May 29

зк

захар который... in pro.bash
Но если выносишь этот алгоритм в функцию, которую потом вызываешь в кейсе, то не работает?

   #!/bin/bash

   UPLOAD() {
 xsel -cb
 text=""
 while read -r file
 do
     text="$text""$file""\n"
     "$SCRIPT_PATH" -f "$file"
 done
   }

   case "$1" in
 "e") $UPLOAD
      ;;
   esac
источник

Лс

Лень с Самосознанием... in pro.bash
Вынеси в скрипт
источник

зк

захар который... in pro.bash
Ну ладно, вынесу :)

Но почему не работает?  Или это не корректно так делать?
источник

Лс

Лень с Самосознанием... in pro.bash
хз
источник

зк

захар который... in pro.bash
ясно :)
источник

F

Fljúgandi Kettlingur... in pro.bash
Потому что в функции $1 это аргумент вызова функции, а не аргумент вызова скрипта.
источник

F

Fljúgandi Kettlingur... in pro.bash
$ cat test.sh
#!/bin/bash

func(){
 echo $1
}

echo $1
func zzz
$ ./test.sh 123
123
zzz
источник

Лс

Лень с Самосознанием... in pro.bash
буду честен, я даже не вчитывался)
источник

зк

захар который... in pro.bash
Блин, но я сейчас просто переименовал функцию UPLOAD и всё заработало!

Видать проблема была в том, что имя зарезервировано.  Но тогда следующий вопрос, почему работает, если $1 это аргумент вызова функции?

Или, может, если функция была вызвана в кейсе, то это становится её аргументом?
источник

🌚

🌚 YupiRex in pro.bash
наверно тебя запутали
источник
2021 May 30

ПК

Павел Конин (HappyWa... in pro.bash
А может кто подсказать, какими командами это реализуется?
Вывести имя первого файла, содержащий более 7 строк
ls + grep + head + что-то еще?
источник

Лс

Лень с Самосознанием... in pro.bash
ls точно нет.
find . -type f
wc -l
test
или математика оболочки
источник

ПК

Павел Конин (HappyWa... in pro.bash
А cat для чего?
источник

Лс

Лень с Самосознанием... in pro.bash
я недочитал
источник

аᶘ

асоциальный пикотран... in pro.bash
А что значит «первый файл»? :)
источник

ПК

Павел Конин (HappyWa... in pro.bash
Наверное, первый из списка, подходящий условию "длина > 7". По идее, сначала получается список всех файлов, потом отсеиваются все, у которых название > 7, и потом берется самый первый из них
источник

Лс

Лень с Самосознанием... in pro.bash
for file in $( find . -maxdepth 1 -type f ); do
   if [ $( wc -l <<< $( cat "$file" ) ) -gt 7 ]; then
        echo "$file" && \
        exit 0
   fi
done
источник

Лс

Лень с Самосознанием... in pro.bash
Вот это уже должно быть рабочим
источник

Лс

Лень с Самосознанием... in pro.bash
Первый попавшийся под условие...
источник

ПК

Павел Конин (HappyWa... in pro.bash
Да, работает, спасибо
источник