tcshの複数行PATH

tcshの複数行PATH

許可された答えからインスピレーションを得ました。このスレッド、tcsh(バージョン6.14.00)から同様の構造をコピーしようとしましたが、成功しませんでした。

setenv new_PATH (
/some/path
/some/other/path

# Some comments
/foo/path

# Another group
/bar/path

$PATH) # Attach $PATH at the end in case we had previous declarations

setenv PATH `sed -e '/^#/'d -e '/^$/'d << EOF | paste -d ":" -s $new_PATH`

" "エラーが発生しますToo many ('s。私は何が間違っていましたか?

ベストアンサー1

次のことができます。

set path = (        \
    /this/dir       \
                    \
# This is a comment \
                    \
    /that/dir       \
    /another/dir    \
)

別の方法は、ファイルからディレクトリ名を読み取ることです。

set path = ()
foreach dir (`/bin/cat path.txt`)
    set path = ( $path $dir )
end

/bin/catちょうど私を壊したので指定する必要があります$PATH

catコメントをフィルタリングすること(たとえば、単純なコマンドsed/bin/sedコマンドなど)に置き換えることができます。

これにより、スペースやその他の興味深い文字を含むディレクトリパスに問題が発生する可能性がありますが、とにかくこれらの問題を避けるようにしてください。

おすすめ記事