Нет аппаратных событий в первичном списке на ПК с процессором Intel Core i7-4770 с сервером Ubuntu?

Я немного не уверен в том, чего вы хотите на самом деле, но я интерпретирую ваш вопрос как желающий «однострочный», который захватывает список каталогов в $HOME, например, а затем позволяет вам cd к первому или второй каталог в этом списке, или любой из них в этом отношении.

Это, я думаю, возможно, если вы поместите все каталоги в массив, а затем вы можете cd в любой каталог в этом массиве, используя например, cd "${cdarray[1]}", что фактически приведет вас ко второму каталогу в списке, поскольку массивы Bash всегда начинаются с 0, поэтому индекс 0 в массиве фактически является первым каталогом.

Вот один слой, который я создал, который вы можете использовать; измените его в соответствии с вашими потребностями. Я исключаю каталоги из списка, которые на самом деле символические ссылки ([[ ! -L "$d" ]]). Вы можете удалить этот тест, если вам нужно включить его и просто сохранить тест для каталога.

Это пример для каталога $HOME, и я добавил $HOME к команде, поэтому пути теперь абсолютны, поэтому вы сможете позже запустить cd "${cdarray[1]}" как отдельную команду из любого места, и она будет работать. Если вы создадите его для другого каталога, просто укажите этот абсолютный путь вместо $HOME в приведенной ниже команде, если конечно вы не хотите, чтобы он работал только относительно каталога, в котором он был создан.

cdarray=(); for d in *; do [[ ! -L "$HOME/$d" && -d "$HOME/$d" ]] && cdarray+=("$HOME/$d"); done; cd "${cdarray[1]}"

Теперь все каталоги с пробелами в именах будут успешно обработаны.

Объявлен индексированный массив, а затем, если найденный элемент является каталогом, а не символической ссылкой, он добавляется в массив и то после запятой мы cd в нужную нам директорию, например cd "${cdarray[1]}".

Вы можете добавить || exit 1 в конец, если вы использовали это в скрипте, но я не добавил это выше, поскольку он закроет интерактивный терминал, если команда cd не удалась. [ ! d8]

1
задан 14 June 2015 в 03:23

0 ответов

Другие вопросы по тегам:

Похожие вопросы: