0

簡単な質問...私は次のことを試みています:

set changedir "cd $JSDIR/"

eval $changedir

..$JSDIR が既に定義されている場所。このスクリプトを実行すると、「set: Variable name must begin with a letter.」というエラーが表示されます。

修正は何ですか?

ありがとう。

4

3 に答える 3

2

これは、Tcl によって生成されるエラー メッセージではありませ。Tcl の変数は文字で始まる必要がないからです。$varOK、省略形の構文は変数名の一般的なスペースよりも制限が厳しいため、英数字のままにしておくと便利な傾向がありますが、set varフォームは事実上何でも処理できます。

スクリプトは、Tcl ではない何か、おそらく bash によって評価されていると思いますか?

于 2012-05-31T19:58:23.053 に答える
0

cd ${JSDIR/}代わりにchangedir を設定してみてください

于 2012-08-31T20:29:05.260 に答える
-1

このメッセージは、実際には変数名が完全に正しい場合に表示される可能性があり、実際の問題は、変数値を引用符で囲む必要があることです。代わりに試してみてください: set changedir "cd $JSDIR//"

于 2012-05-31T18:16:02.017 に答える