CDはシェルでは機能しますが、スクリプトでは機能しません。

CDはシェルでは機能しますが、スクリプトでは機能しません。

特定の長いディレクトリパスcdから始める必要があることがよくあります。$HOMEだから、より早く到着するには、$ HOMEにCDスクリプトを挿入する必要があると思いました。

CDスクリプト:

#!/bin/sh
directory="/some/big/long directory path/that/I/use/frequently"
cd "$directory"

権限設定: chmod 700 cdscript

./cdscript何もしませんでした。私は何を見逃していますか? (はい、パスには対応するスペースがあり、シェルから正確に別々のcd行を正常にコピーして貼り付けることができるため、パスも存在します。)適していませんか?

ベストアンサー1

ただ

./cdscript

不可能。デフォルトでは、新しいシェルをフォークしてそこにCDを挿入すると、シェル(および新しい作業ディレクトリ)が終了します。

使用する必要があります

. ./cdscript

(先頭にドットとスペースがあります)

最初の点は、./cdscript私が入力したとおりに実行することを意味します。その場合、2番目の点が必要です。変数にはありませんPATH

おすすめ記事