Перейти в каталог, в котором находится файл

Я смог выяснить это с помощью xinput_calibrator, который дал мне правильные калибровочные данные xorg.

В основном, откройте окно терминала и запустите калибратор xinput _и коснитесь точек, которые он просит вас коснуться. После завершения окно терминала выдаст информацию для использования с xorg :

.
user1:~> xinput_calibrator
Calibrating EVDEV driver for "Goodix Capacitive TouchScreen" id=11
        current calibration values (from XInput): min_x=66, max_x=725 and min_y=-5, max_y=1284

Doing dynamic recalibration:
        Setting new calibration data: 61, 730, -3, 1272


--> Making the calibration permanent <--
  copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf'
Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "Goodix Capacitive TouchScreen"
        Option  "Calibration"   "61 730 -3 1272"
EndSection
0
18.05.2021, 09:41
2 ответа

Используйтеdirname:

cd "$(dirname "/path/to/file")"

или

file="/path/to/file"
cd "$(dirname "$file")"

Использование синтаксиса shell:

file="/path/to/file"
cd "${file%/*}"
4
28.07.2021, 11:31

С zshвместоbash:

cd /path/to/file(:h)

или:

cd -- **/file([1]:h)

Для поиска fileв любом месте (, но не в скрытых каталогах, если вы не добавите квалификатор D)рекурсивно ниже текущего каталога и cdк родителю первого (в алфавитном порядке. заказ; вы можете использовать квалификатор oили O, чтобы выбрать другой порядок )найденного файла.

:h— это модификатор для получения заголовка(имени каталога )файла. Это происходит из cshв конце 70-х, а также встречается в vimили в bash(, хотя там применяется только к расширению истории ). Квалификаторы Glob (часть внутри (...)для дальнейшего уточнения или модификации globs )специфична для zsh -.

С помощью bashи инструментов GNU вы можете сделать что-то похожее на:

IFS= read -rd '' dir <(
  LC_ALL=C find. -name '.?*' -prune -o -name file -printf '%h\0' |
    sort -z
) && cd "$dir"

Или:

shopt -s globstar # enable zsh-style recursive globbing though
                  # it's still somewhat buggy in bash
shopt -s failglob

files=(./**/file) && cd "${file%/*}"
1
28.07.2021, 11:31

Теги

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