Плохо: модификатор в $ (/). появляется всякий раз после входа в систему и создания нового экрана в Linux

Вы не можете иметь продолжение строки, за которым следует комментарий в той же строке.

Это нормально:

echo \
hello

Это неправильно:

echo \ #newline here
hello

В первом примере \ экранирует новую строку, и выполняемая команда будет echo hello.

Во втором случае \ просто экранирует пробел после него, и мы получаем #newline here в качестве вывода, за которым следует сообщение об ошибке hello: not found [Нет такого файла или каталога] (или аналогичный).

Итак, удалите комментарий (все, включая пробел после последнего \) в строке, которая теперь читается как

--regextrans2 's,\",-,g' \ # change quotes to dashes
0
15.09.2017, 04:05
2 ответа

Вы не используете bashкак свою оболочку, а(t)csh:

> csh
% PATH="${PATH:/blah}"
Bad : modifier in $ (/).

Если вы хотите вместо этого использовать bash, вы, вероятно, можете запустить chshили попросить системного администратора изменить его для вас.

В bashесли вы сместите :и поместите его в фигурные скобки {}, это будет означать, что к переменной следует применить модификатор . В cshфигурные скобки не нужны для применения модификатора, и вам действительно потребуется добавить фигурные скобки, если вы не хотите, чтобы :сигнализировало, что модификатор после него.

3
28.01.2020, 02:24

Вам нужно сбежать ' :'. Итак, ваш файл cshrc должен выглядеть так:

setenv PATH $PATH\:/path/to/add

После этого вы можете сделать,

source ~/.cshrc

, чтобы применить изменения к текущему терминалу. Он будет автоматически применен при следующем открытии нового терминала.

0
28.01.2020, 02:24

Теги

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