私は、ユーザがスペースを含む文字列を入力できるスクリプトを用意しています。これまでのところ私が持っている:cshでユーザ入力をスペースで読み取るシェルスクリプト
#bin/csh
echo "TEST 1"
echo -n "Input : "
set TEST = $<
echo "Var | " $TEST
set TEST=`echo $TEST`
echo "Var after echo | " $TEST
set TEST=`echo $TEST | sed 's/ /_/g'`
echo "Var after change | " $TEST
私が "入力" で文字列 "R rのrを" 入力した場合、$ TESTは唯一の "R" を取るだろう。 $ TESTを "r r r"に設定したいと思っています。これは可能ですか? 私は「1 1 1」のような文字列を入力した場合、私はエラーを取得する:
set: Variable name must begin with a letter.
その理由は何ですか?
http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/にアクセスできますか?あなたの問題を解決することはできませんが、cshがプログラミングにとって最高のシェルではないさまざまな理由がよくわかります:-) –
はい。私は通常shを使います。この場合、別のディレクトリに移動し、スクリプトが存在する場合はそこに移動する必要があります。私はsource(別名 'source〜/ scripts/aenewc')を使ってこれを行います。したがって、ユーザーがcシェルで作業している場合は、スクリプトも "csh"になければなりません。これが私がこのケースでcshに頼った理由です。 – Gayan
はい。私は通常shを使います。この場合、別のディレクトリに移動し、スクリプトが存在する場合はそこに移動する必要があります。私はsource(別名 'source〜/ scripts/aenewc')を使ってこれを行います。したがって、ユーザーがcシェルで作業している場合は、スクリプトも "csh"になければなりません。これが私がこのケースでcshに頼った理由です。 – Gayan