Closed tkomatsu closed 3 years ago
確認します!
いろいろ試した結果をメモ。
minishell$ export ECHO="echo "
minishell$ $ECHO 1
1
minishell$ export ECHO=" echo aa "
minishell$ $ECHO
minish: : command not found
minishell$ export ECHO=" echo "
minishell$ "$ECHO" 1
minish: echo : command not found
minishell$ export ECHO="cho 1"
minishell$ e$ECHO
1
bash-3.2$ export ECHO=" cho 1 "
bash-3.2$ e$ECHO
bash: e: command not found
bash-3.2$ export ECHO="cho 1 "
bash-3.2$ e$ECHO
1
原因はここみたいです。
以下のケースに対応するため、安直に「ヌル文字トークンのヌルポ変換処理」をexpand_token後に置き換える対応はできない。
exit ""
echo "" "" a
コマンドの実行時に先頭の文字列はisspace()をスキップするようにするのはなしかな?
うまくいかぬ、、、、
ダブルクォートの展開の後にスペースが消されているようで、このような結果になっています。 bashだと実行できるので修正が必要かもしれません。