Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
2 / 2 / 1
Регистрация: 05.02.2015
Сообщений: 20
1

Не работает динамическое создание алиасов для команд

17.05.2019, 10:30. Показов 906. Ответов 3
Метки нет (Все метки)

Помогите, пожалуйста, понять, почему не удается динамически создать алиасы для команд?
Назначение скрипта - создать алиасы для быстрого доступа в определенные папки. Скрипт работает и ошибок не выдает, но алиасы не создаются, хоть тресни его кочергой... Уж как только я не изгалялся - и через eval, и без него...
ЗЫ Среда - Ubuntu 18.04
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
rootProjectsDir=/var/www/
if [ -d $rootProjectsDir ]
then
    directories=$(ls -al $rootProjectsDir | grep -P '^d')
    if [[ ! -z "$directories" ]]
    then
 
        echo "$directories" | while read dir
        do
            dir=`echo "$dir" | awk  '{print $9}'`
            
            if [[ "$dir" =~ [^\s.] ]]
            then
                
                alias $dir="cd ${rootProjectsDir}${dir}"
                echo -e "alias $dir cd ${rootProjectsDir}${dir}\n"
            fi
            
        done
    fi
fi
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2019, 10:30
Ответы с готовыми решениями:

RAD ХЕ3 - работа с базами данных DataBase Desktop и создание алиасов
Подскажите пожалуйста как в новой Embarcadero RAD Studio ХЕ3 создать алиас, как в старом С++...

Не работает динамическое создание двумерного массива
Добрый вечер. Не могу понять, почему не работает программа. Какие бы значения я не задавал (кроме...

Создание общих параметров для нескольких команд
Программа по некоторому принципу обрабатывает БД. Пусть есть две команды, одна из них добавляет...

В Delphi блок try-except работает для всех заключённых в него команд, или только для первой?
То есть у меня есть код, состоящий из нескольких команд, мне нужно, чтобы в случае возникновения...

3
Модератор
Эксперт NIX
2785 / 2033 / 680
Регистрация: 02.03.2015
Сообщений: 6,514
17.05.2019, 12:55 2
  1. Использование конструкции
    Цитата Сообщение от operada Посмотреть сообщение
    … | while read dir
    подразумевает что область видимости переменных будет ТОЛЬКО внутри while … done
  2. С какого перепуга Вы решили использовать такие alias'ы для задачи доступа к папкам? Почему бы не использовать 1 единственный:
    Bash
    1
    
    alias ww='cd /var/www/'
1
2 / 2 / 1
Регистрация: 05.02.2015
Сообщений: 20
17.05.2019, 13:48  [ТС] 3
Цитата Сообщение от Marinero Посмотреть сообщение
подразумевает что область видимости переменных будет ТОЛЬКО внутри while … done
ОК, попробую принять к сведению... Буду искать другой способ разбиения строки по символу переноса...

Цитата Сообщение от Marinero Посмотреть сообщение
С какого перепуга Вы решили использовать такие alias'ы для задачи доступа к папкам? Почему бы не использовать 1 единственный:
Ну так можно тогда набрать тупо cd /var/www/***

Но зачем выполнять две команды, когда для доступа в папку проекта можно выполнять одну? При этом независимо от количества папок проектов при новой загрузке компа список алиасов всегда будет актуален и не нужно будет особо помнить о его актуализации.
0
Модератор
Эксперт NIX
2785 / 2033 / 680
Регистрация: 02.03.2015
Сообщений: 6,514
17.05.2019, 16:42 4
Bash
1
2
3
4
5
6
rootProjectsDir=/var/www/
 
while read dir ; do
    alias $dir="cd '${rootProjectsDir}${dir}'"
    echo "$dir will do cd ${rootProjectsDir}${dir}"
done < <(find ${rootProjectsDir}[![:blank:]]* -prune -type d)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2019, 16:42

Динамическое создание SQL для UpdateCommand не поддерживается для SelectCommand, не возвращающей никаких сведений о столбце ключей.
Добрый ночь! Возникла такая проблема. Вот код. SqlConnectionStringBuilder bu = new...

Динамическое создание типа для коллекции
Здравствуйте! Есть такая задумка, но не знаю как реализовать. Файл электронной таблицы, в...

Динамическое создание атрибутов для отображения в PropertyGrid
Всем привет. Постараюсь объяснить понятно свой вопрос. Итак, имеется PropertyGrid в котором мне...

Динамическое создание WinSock для каждого соединения
Я хочу чтобы программа сервер, при запросе о подключении к ней клиента(для этой цели я использую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.