The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Bash: и снова работа с переменными"
Отправлено stakado, 02-Апр-14 12:01 
> копипаст без понимания бесполезен чуть больше, чем полностью

На этом форуме не первый день, к Вашим репликам привык уже. Так что даже реагировать никак не стану ;).

> 1) для начала, надо сформулировать задачу полностью - какие данные имеем и
> что нужно получить, какие инструменты доступны
> 2) бороться можно както так "\", но опять же надо четко понимать где бороться и зачем

Проблему свою решил. Моя задача несколько отличается, от изначально описанной. Мне требуются лишь имена переменных, без их значений (но зная имена переменных вывести их значения не трудно). Не уверен, что _это_ кому-нибудь пригодится, но всё же решение проблемы принято описывать:
#!/bin/bash

BashVars=`set -o posix; set | awk -F = '{ print $1 }'`
var1="111111 sdfsdfs"
var2="aaaaaa"
var3="zxczczx"
var4="$var1 asdas --$var2"
var5="zzzzzzzzzzzzzzzzzzz"
var6="${var1} zxcxzcz"
var_7="adasdsdsad"

VarNames=`set -o posix; set | awk -F = '{ print $1 }' | grep -ve "^$BashVars$" | grep -v "BashVars"; unset BashVars`

echo $VarNames

Скрипт заносит в переменную VarNames имена всех переменных, инициализированных пользователем в скрипте.

P.S.: при этом, как написал выше, со скриптом воюю второй день. Вчера делал всё то же самое, что и сегодня. Но вчера не получалось, а сегодня вышло.

P.P.S.: ув. Pahanivo, спасибо за помощь! Ваши рассуждения натолкнули меня на верный путь.

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру