sedコマンドを実行するシェルスクリプトがあります。変数が拡張されると、ファイル名を参照します。
sed -i "$3d" $filename
~になる
sed -i 1d '~/file'
デバッグフラグに示されているとおりです-x
。
実行すると、次のものが生成されます。
sed: can't read ~/file: No such file or directory
コマンドを手動で実行しようとすると、引用符を削除しない限り、同じことが起こります。
sed -i 1d ~/file
引用符なしで実行すると、目的の出力が生成されます。
ベストアンサー1
問題はファイル名の周りの引用符です。これにより、シェルが~
ホームフォルダに展開されるのを防ぎます。だからsed
というフォルダを探してください~
。
$filename
引用符を含まないか、代わりに実際のパスを使用してください~
。