現在のパスのデフォルト名を使用した新しいファイルの定義

現在のパスのデフォルト名を使用した新しいファイルの定義

特定の名前、特にスクリプトを実行しているフォルダのデフォルト名を持つ一時フォルダを生成するスクリプトを作成しようとしています。そのために、次の方法を試しました。

setenv suffix $(basename $PWD)
mkdir /tmp/userid_$suffix

ただし、これは誤った変数名エラーのため失敗します。ここで多くのウェブサイトや質問を見た後もこの問題を把握できないようです。ステップ 1 または変数を設定して現在のフォルダーの既定の名前を新しいフォルダーに追加するにはどうすればよいですか。

答え1

次の方法がうまく機能します。

 setenv suffix `basename $PWD`

/bin/tcsh をシェルとして指定します。

答え2

あなたがそれにいるので、csh次のように非常に簡単に書くことができます。

mkdir "/tmp/userid_${cwd:t}"

現在のディレクトリから$cwdmodifiersを介してデフォルト名を取得できます:t

関連情報