Вы не можете иметь продолжение строки, за которым следует комментарий в той же строке.
Это нормально:
echo \
hello
Это неправильно:
echo \ #newline here
hello
В первом примере \
экранирует новую строку, и выполняемая команда будет echo hello
.
Во втором случае \
просто экранирует пробел после него, и мы получаем #newline here
в качестве вывода, за которым следует сообщение об ошибке hello: not found [Нет такого файла или каталога]
(или аналогичный).
Итак, удалите комментарий (все, включая пробел после последнего \
) в строке, которая теперь читается как
--regextrans2 's,\",-,g' \ # change quotes to dashes
Вы не используете bash
как свою оболочку, а(t)csh
:
> csh
% PATH="${PATH:/blah}"
Bad : modifier in $ (/).
Если вы хотите вместо этого использовать bash
, вы, вероятно, можете запустить chsh
или попросить системного администратора изменить его для вас.
В bash
если вы сместите :
и поместите его в фигурные скобки {
}
, это будет означать, что к переменной следует применить модификатор . В csh
фигурные скобки не нужны для применения модификатора, и вам действительно потребуется добавить фигурные скобки, если вы не хотите, чтобы :
сигнализировало, что модификатор после него.
Вам нужно сбежать ' :'. Итак, ваш файл cshrc должен выглядеть так:
setenv PATH $PATH\:/path/to/add
После этого вы можете сделать,
source ~/.cshrc
, чтобы применить изменения к текущему терминалу. Он будет автоматически применен при следующем открытии нового терминала.