Linuxで下記のようにCシェルとbashとBシェルで全く同じコマンドを実行しましたが、Cシェルだけ処理結果が異なっています。これはeval
の仕様が原因なのでしょうか?
(Cシェルではファイルを実行したディレクトリに「abcde?」というファイルを探しているみたいで、ファイルが見つからないためecho: No match.
と表示されるのではないかと考えています)
[vagrant@localhost ~]$ cat csh.csh #!/bin/csh -f eval echo abcde\? [vagrant@localhost ~]$ csh.csh echo: No match. [vagrant@localhost ~]$ cat bash.sh #!/bin/bash eval echo abcde\? [vagrant@localhost ~]$ bash.sh abcde? [vagrant@localhost ~]$ cat sh.sh #!/bin/sh eval echo abcde\? [vagrant@localhost ~]$ sh.sh abcde? [vagrant@localhost ~]$
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/03/04 05:05
2017/03/04 06:34
2017/03/04 06:46
退会済みユーザー
2017/03/04 06:56
退会済みユーザー
2017/03/04 06:57
2017/03/04 07:20
退会済みユーザー
2017/03/04 07:31
2017/03/04 10:49
2017/03/04 12:11 編集
退会済みユーザー
2017/03/05 00:19
2017/03/05 00:39
退会済みユーザー
2017/03/05 00:46
2017/03/05 00:51
退会済みユーザー
2017/03/05 01:25