cd в последней папке tcsh

Кажется, что просто добавление новых строк к config.datи passwords.datработает для будущих установок.

Так:

  1. Установить пакет в обычном режиме
  2. Выяснить, что было добавлено в файлы config.datи passwords.dat(Я сравнил файлы до и после .dat)
  3. Добавить строки, созданные при установке пакета, в .datфайлы на других узлах сервера
0
19.09.2019, 19:40
2 ответа

$(...)— это синтаксис оболочки Korn/POSIX. Подстановка команд в (t )csh выполняется с помощью `...`.

В tcshвы можете сделать:

set dirs = (./*/); cd $dirs[$#dirs]:q

В cdв последний каталог (или символическую ссылку на каталог )в лексическом списке не -скрытых каталогов в текущем каталоге.

Это лучше, чем:

cd "`ls | tail -n 1`"

Это не сработает, если имена файлов содержат символы новой строки или начинаются с-(или +, за которыми следуют цифры ), или если последний файл в текущем каталоге не является каталогом.

Ваш синтаксис Ksh cd $(ls | tail -1)еще хуже, так как он также не будет работать с именами файлов, содержащими пробелы, табуляцию или подстановочные знаки.

Обратите внимание, что порядок является лексическим, например, 2сортирует после10. Для числовой сортировки с реализацией GNU lsвы можете использовать опцию -v(cd "`ls -v | tail -n 1`")

.

С оболочкой zshможно:

cd./*(/[-1])

Или также учитывать символические ссылки на каталоги:

cd./*(-/[-1])

Чтобы отсортировать файлы по номерам:

cd./*(n-/[-1])
0
28.01.2020, 03:16

Ошибка вызвана тем, что строка, которую вы получаете, не является именем каталога, а представляет собой строку, содержащую некоторую информацию о каталоге, например drwxrwxr-x. 3 alessiosavi alessiosavi 4096 Sep 10 09:51 workplace-tmp, а не ваше целевое имя, котороеworkplace-tmp

Для завершения работы мы можем выполнить следующий шаг:
1. Сохраните последний каталог в переменной
2. Убедитесь, что переменная является каталогом
3. Перейдите в каталог

file=$(ls -l  | tail -n1 | awk '{print $9}') ; if [ -d "$file" ];then cd $file; else echo "$file not a directory" ; fi

«Это bash, вам нужна только 1 строка»

0
28.01.2020, 03:16

Теги

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