#!/usr/local/bin/bash
#USERNAME=`doc`
i=0
declare -ax SCREENS
SOCKETS=`find /tmp/screens/S-doc -type p`
if [ -z "$SOCKETS" ]
then
exit 0
fi
for S in $SOCKETS
do
((i=$i+1))
S=`basename $S`
SCREENS[$i]=`screen -ls | grep $S | perl -e '$s=<>; $s =~ s/^\t(.*)s/$1/; $s =~ s/s/_/g; print
$s'`
done
MENU=""
for ((j=1; j<=$i; j=$j+1))
do
MENU="$MENU $j \"${SCREENS[$j]}\""
done
WHICH=`dialog --stdout --menu Select: 0 0 0 $MENU`
echo $WHICH
echo $MENU
#echo `$WHICH`
#echo ${SCREENS[$WHICH]} | sed -e 's/_(.*)$//'
MENU="$MENU $j \"${SCREENS[$j]}\""
тут формируется строка аргументов
но при запуске команды WHICH=`dialog --stdout --menu Select: 0 0 0 $MENU`
Аргументы в кавычках с пробелами не обрабатываться как один аргумент. а разделяются по пробелу. причём кавычка попадает в аргумент.
Переменная menu содержит 1 "1361.pt_-0.doc-erver (Detached)" 2 "1489.pt_-0.doc-erver (Detached)" 3 "1563.pt_-0.doc-erver (Attached)"
Должно восприниматься как 6 аргументов. А получается 9.
Как быть?
Спасибо.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.