PWD
現在のパスにスペースが含まれている場合に変数で発生する最も厄介な問題が発生しました。私のコードは次のようになります。
mycommand |sed -E '
s|mystuff|replacement| ;
s|'$(pwd)'|replacement| ;
'
現在のパスにスペース文字が含まれていない限り、これはうまく機能します。もしそうなら、$(pwd)
に拡張されます
'mypath / with space'ただの代わりに
mypath/スペースあり
これにより、sed式が台無しになります(余分な引用符が原因):
sed:1: "s | mypath / with":終了していない代替パターン
私は、次のようにpwdを拡張するのに役立たないことに気づきました${PWD//\'/}
。
これをどのように解決できるかについてのアイデアはありますか?