(РЕШЕННЫЙ), Как я получаю текущий рабочий каталог с инвертированной наклонной чертой?

[118015] Двойные пути ничего не повредят.

Скорее всего, где-то есть скрипт, который перезаписывает переменную path. Попробуйте следующее, чтобы сузить область установки переменной.

Посмотрите, есть ли переменная окружения, перезаписывающая путь[118372]. logout + log обратно в

Посмотрите, есть ли у новой оболочки такой же путь

Посмотрите, есть ли у sudo с начальным логином такой же путь

Похоже, вы уже проверили свои ~/.bashrc и ~/.bash_profile. Проверьте, нет ли скриптов в /etc/profile[118026].

1
16.10.2014, 13:23
2 ответа

Вы можете использовать SED , чтобы преобразовать все / в \ , следующей командой:

sed  's/\//\\/g'

Пример:

$ echo $PWD | sed  's/\//\\/g'
\home\pandya

Другой способ использовать TR :

tr '/' '\\'

вышеуказанной командой TR преобразует все / с \ ; Пример:

$ echo $PWD | tr '/' '\\'
\home\pandya
2
27.01.2020, 23:17

Я не совсем уверен, что вы пытаетесь сделать, но изменить косую черту очень просто:

$ printf '%s\n' "${PWD//\//\\}"
\home\terdon

Здесь используются возможности ksh для управления строками также доступен в bash . В частности, $ {foo // bar / baz /} заменит все вхождения строки bar на baz в переменной $ foo . Поскольку / и \ являются специальными символами, их необходимо экранировать ( \\ и \ / ), чтобы это работало с ними. . Вышеупомянутое эквивалентно:

pwd | sed 's#/#\\#g'  
3
27.01.2020, 23:17

Теги

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