CDディレクトリパスに変数を追加する

CDディレクトリパスに変数を追加する

おそらくどこかでこれらの質問を受けたことがあります。しかし、その解決策は実際には効果がありません。助けが必要です。

ディレクトリ名に変数を追加してから、そのディレクトリに変更したいと思います。以下の方法は私には合いません。

#!/bin/bash
targetVmwareVersion="15.5.6"
cd vmware-host-modules-workstation-$targetVmwareVersion

cdに置き換えると、ls端末のフォルダの内容が一覧表示されますが、機能しませんcd

targetVmwareVersion名前の後に接続してからディレクトリを変更したいと思いますvmware-host-modules-workstation-

以下の方法を試しましたが、成功しませんでした。

#!/bin/bash
targetVmwareVersion="15.5.6"
path="vmware-host-modules-workstation-$targetVmwareVersion"
cd $path

そのcd部分は機能しません。ディレクトリは変更されずにそのまま残ります。

. ./script私には効果がありません。上記のコードスニペットは、続行するためにこのコードスニペットに依存するより大きなスクリプトの一部です。

答え1

エラーが発生しない場合は、パスが変更されます。パスが変更されるのではなく、シェルの現在のパスです。私は自分自身を説明します:

スクリプト内の別のディレクトリに cd すると、スクリプトはユーザーが指示したディレクトリに変更されますが、スクリプトが完了するとプロンプトがまだスクリプトに沿って移動していないため、同じパスになります。

千言葉よりも一枚の写真がより重要だと言われています。デモは次のとおりです。

スクリプト内のCD変更パスのデモイメージ

関連情報