Se no Linux, suponho que seu csh seja tcsh . Então você deve ser capaz de fazer:
set -f path=("/new/entry" $path:q)
Em csh , tcsh e zsh , a variável $path special array está vinculada à variável $PATH ambiente escalar em que o elementos da matriz $path são construídos dividindo a variável $PATH no caractere de dois-pontos. Qualquer modificação de $path ou $PATH é automaticamente refletida na outra variável.
-f acima é para reter apenas a primeira entrada. $path:q são os elementos de $path , citados, que estão impedindo a divisão de palavras. Portanto, a sintaxe acima preenche o /new/entry ou o move para a frente, se já estava lá.
Por que você usaria csh ?
Nota: as aspas acima são necessárias. Ou, mais precisamente, todos os caracteres em /new/entry precisam ser citados de uma forma ou de outra.
set -f path=('/new/'\e"ntry" $path:q)
está OK.
set -f path=(/'new/entry' $path:q)
não é. Você sempre pode fazer isso em dois estágios:
set path=(/new/entry $path:q)
set -f path=($path:q)
(uma das razões pelas quais você pode querer ficar longe de csh )