簡単な質問...私は次のことを試みています:
set changedir "cd $JSDIR/"
eval $changedir
..$JSDIR が既に定義されている場所。このスクリプトを実行すると、「set: Variable name must begin with a letter.」というエラーが表示されます。
修正は何ですか?
ありがとう。
これは、Tcl によって生成されるエラー メッセージではありません。Tcl の変数は文字で始まる必要がないからです。$var
OK、省略形の構文は変数名の一般的なスペースよりも制限が厳しいため、英数字のままにしておくと便利な傾向がありますが、set var
フォームは事実上何でも処理できます。
スクリプトは、Tcl ではない何か、おそらく bash によって評価されていると思いますか?
cd ${JSDIR/}
代わりにchangedir を設定してみてください
このメッセージは、実際には変数名が完全に正しい場合に表示される可能性があり、実際の問題は、変数値を引用符で囲む必要があることです。代わりに試してみてください: set changedir "cd $JSDIR//"