"push"を呼び出してから別のコマンドを呼び出す簡単なスクリプトがあります。しかし、スクリプトの "pushd"コマンドはスクリプトの範囲を超えていないようです。
シェル端末で実行する方法はありますか?
#!/bin/sh
pushd $1
time
私が本当に達成したいのは、電話をかけてコマンドを使用するpushd
ことです。other-command
ベストアンサー1
/bin/sh
この場合、シェルスクリプトは通常、シェルプログラムの別々のインスタンスで実行されます。あなたのpushd
コマンドはサブシェルの作業ディレクトリにのみ影響します。そうしないと、シェルで実行されるすべてのプログラムがシェルの作業ディレクトリを妨げる可能性があります。
代わりに、現在のシェルでスクリプトを実行するには、次の手順を実行します。
$ . my-command somedir
またはさらに詳しく説明すると、次のようになります。
$ source my-command somedir
プログラムが他のプログラムのように動作するようにするには、エイリアスを使用できます。
$ alias mycmd='source my-command'
$ mycmd /bin
$ pwd
/bin