特定の長いディレクトリパス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
。
答え2
シェルでこれにエイリアスを作成することをお勧めします。たとえば、.bashrc
次のように入力できます。
alias cdscript='cd /really/long/file/path/'
答え3
スクリプトは現在の作業ディレクトリを変更しますが、終了時に復元します。タイプする代わりに
cdscript
入ろうとする
. cdscript
目的の結果を得るには、スクリプトを実行します。