Использование базового имени текущего пути для определения нового файла [дубликат]

В bash и, возможно, других оболочках, завершение табуляции, включающее символ @, будет:

Попытка выполнить завершение текста перед точка. Фактическое завершение зависит от приложения. Bash пытается выполнить завершение, обрабатывая текст как переменную (если текст начинается с «$»), имя пользователя (если текст начинается с «~»), имя хоста (если текст начинается с «@») , или команду (включая псевдонимы и функции) по очереди. Если ни один из них не дает совпадения, предпринимается попытка завершения имени файла.

Код для bash находится в /usr/share/bash-completion/bash_completion, начиная с функции _user_at_host.

0
02.08.2017, 01:13
2 ответа

Следующее работает намного лучше:

 setenv suffix `basename $PWD`

В качестве оболочки вы указали /bin/tcsh.

2
28.01.2020, 02:25

А поскольку вы находитесь в csh, это можно очень просто записать как:

mkdir "/tmp/userid_${cwd:t}"

где из текущего каталога $cwdмы можем получить его базовое имя с помощью модификатора :t.

1
28.01.2020, 02:25

Теги

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