パス名の一部を検索して変数に割り当てるにはどうすればよいですか?

パス名の一部を検索して変数に割り当てるにはどうすればよいですか?

現在の作業ディレクトリのパス名の一部を変数に割り当て、ディレクトリ自体のスクリプトで使用したいと思います。

たとえば、

私のパスワードが次のような場合:

/home/desktop/project/ABC/abc/abc_123、$PROJECT_NAMEなどの変数にABCを割り当てるコマンドはありますか?

頑張ったディレクトリ名しかし、戻ってきたようです」'入力 'pwd' の場合、とにかく dirname が返す必要があるよりも 1 ステップ後にする必要があります。

答え1

次のマークアップを使用しているのでtcsh

set project = $cwd:h:h:t:q

$project現在のディレクトリの先頭(またはディレクトリ名のデフォルト名)の尾に設定されています。:q 引用符生成されたテキストなので、追加の拡張(分割やワイルドカードの指定など)は行われません。

pwd現在の作業ディレクトリを印刷するコマンドです。このコマンドは組み込まれていませんtcsh。現在の作業ディレクトリは(驚くべきことではなく、または少なくともksh「s」と比較して$PWD$cwdの変数にありますtcsh

関連情報