次の変数があります
$a=/opt
$b=var
$c=usr
$path=/$a/$b/$c/man
cd $path を実行すると、そのファイルやディレクトリがないことが示されます。
ただし、このパスは実際には/opt/var/usr/manにあります。どんな提案がありますか?
答え1
問題は変数を割り当てるときの構文エラーです。
$a=/opt
$b=var
$c=usr
$path=/$a/$b/$c/man
..変数の割り当ての前に$
..が来ることができないため、動作しません。
次のように進む必要があります。
a=opt
b=var
c=usr
dir=/$a/$b/$c/man
cd $dir
名前は同じですが、状況が異なる2つの変数を使用すると混乱を招く可能性があるため、悪い考えなので最終変数の名前を変更しました。 (PATH
非常に重要な環境変数です。)
答え2
これを試してみるとecho $a$b$c
これが得られます
[root@centseven ~]# echo $a$b$c
/optvarusr
だからこれは実行ではありません。
最後の変数は次のようになります。path=/$a$b$c/man
変数を次に変更します。
$a=/opt
$b=/var
$c=/usr
それでは試してみてくださいecho $path
。私には効果がありました。
[root@centseven ~]# echo $path
/opt/var/usr/man