今I401.out
という実行ファイルがあるとして、
./I401.out -----------------------------------------------------------------*--------------O**OO-----------*-*-----------OO*-O-----------*-*-----------O---O-------------------------------------------------------------------------------- * 0
のようにコマンドライン引数を渡すとします。この時第二引数に*
を渡すのですが、これがカレントディレクトリのファイルやらディレクトリ名に展開されていまいます。
初心者なりにエスケープしようと
"*"
, '*'
, $'*'
, '\*'
, '\\*'
, \*
を試しましたがやはりダメです。
どうすれば*
を渡せますか?
cf.)
- https://twitter.com/yumetodo/status/722579505844359168
- https://twitter.com/yumetodo/status/722581337492709377
- https://twitter.com/yumetodo/status/722581836791058432
- https://twitter.com/yumetodo/status/722582947438526465
- https://twitter.com/yumetodo/status/722583695782055936
- https://twitter.com/yumetodo/status/722591462408368129
追記
sh
1gdb --args echo \*
はぶっ壊れてるけど
sh
1echo \*
はちゃんと
*
と表示される・・・。どうなってるんだ、msys2
追記2
謎挙動多いのでIssue投げました
https://github.com/Alexpux/MINGW-packages/issues/1347
追記3
VSでstatic linkしたものを試したら、*
これだけ\*
とすれば正常に動きました。つまりmingwが・・・
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。