次のスクリプトを機能させようとしていますが、いくつか問題があります。
g++ -g -c $1
DWARF=echo $1 | sed -e `s/(^.+)\.cpp$/\1/`
そして私は得ています-
./dcompile: line 3: test3.cpp: command not found
./dcompile: command substitution: line 3: syntax error near unexpected token `^.+'
./dcompile: command substitution: line 3: `s/(^.+)\.cpp$/\1/'
sed: option requires an argument -- 'e'
そして、sed の使用に関する一連の情報。私がやりたいことは、cpp ファイルを渡し、.cpp なしでファイル名を抽出して変数 DWARF に入れることです。また、後で変数 DWARF を使用して次のことを行いたいと思います-
readelf --debug-dump=info $DWARF+".o" > $DWARF+".txt"
しかし、実際にオンザフライ文字列の連結を行う方法がわからないので、両方の問題を解決してください。