Bash文字列の先頭から.を削除し、結果を変数に書き込む方法は? [コピー]

Bash文字列の先頭から.を削除し、結果を変数に書き込む方法は? [コピー]

私は現在のフォルダ名の先頭からaを削除できるようにするのに役立つシェル関数を作成しています.(フォルダ名を隠しフォルダ名から非隠しフォルダ名に変更)。フォルダ名は、以下を$CWD使用して評価される変数に保存されます。

CWD=${PWD##*/}

のような変数を呼び出したいのですが、$CWD最初は変数がありません。私は現在私を使ってこれをやろうとしていますが、この問題に対する解決策が開いています。これが私が試したことです:.$GWDsed

GWD=$(sed -i 's/.*//' $CWD)

私も'この式をで置き換えてみて、で置き換えて"みました。しかし、引き続きエラーが返されます。-i-e

sed: can't read .atom: No such file or directory

CWD='.atom'私は今どこにいますか?

答え1

GWD="${CWD#.}"

sed コマンドが読みたいので動作しません文書で定義されて$CWDいます。echo $CWD | sed 's/^[\.]//'

また、これに興味がある可能性がありますこれは別の質問ですこれはあなたがよりCWD強くなるのを助けます。

関連情報