09/07/22 15:28:06
質問させてください。
標準入力から入力した値を処理するシェルスクリプト(Bシェル)を作成しています。
入力値に\(バックスラッシュ)が入る可能性があるので、
readのオプションに「-r」を付けて、入力値をすべて受け取れるようにしようと思ったのですが、
「-r」オプションをつけると「英数字以外の文字が使用されています。」というメッセージが出力され
オプションが使えないようです。
例) OS:Solaris10
$ cat aaa.sh
#!/bin/sh
read aaa
echo $aaa
read -r ppp
echo $ppp
$
$ ./aaa.sh
III ←コマンドラインから入力
III ←出力
./aaa.sh: -r: 英数字以外の文字が使用されています。 ←オプションを付けたreadに対してのエラーメッセージ
質問ですが、Bシェルでは、readに「-r」オプションは使えないのでしょうか?
(manを見る限り使えないとは言ってないように思われたのですが)
もし、使えないとすると、何か他に方法をご教授頂けないでしょうか?
(出来る限りBシェルでしたいと考えているのでこのコマンドだけkshで実行するなどでしょうか)
よろしくお願いします。