[解決済み】bashスクリプトを終了させる方法はあるが、ターミナルを終了させることはできない。
2022-04-06 18:09:11
質問
を使用する場合
exit
コマンドを使用すると、スクリプトがターミナル(プロンプト)を終了させます。スクリプトを終了させてもターミナルに残る方法はないでしょうか?
私のスクリプト
run.sh
は、直接ソースされるか、他のスクリプトからソースされることで実行されることが期待されます。
EDIT
より具体的に言うと、2つのスクリプトがあります。
run2.sh
として
...
. run.sh
echo "place A"
...
と
run.sh
として
...
exit
...
で実行すると
. run2.sh
にヒットした場合
exit
のコードラインは
run.sh
ターミナルに停止して、そこに留まるようにしたいのです。しかし
exit
ターミナル全体が閉じてしまいます。
PS: 私は
return
しかし
echo
コードラインはまだ実行されます...。
解決方法は?
問題点は、スクリプトを実行するのではなく、ソースとして使用していることです。ファイルをソースすると、その内容はサブシェルが生成されるのではなく、現在のシェルで実行されます。そのため、終了を含むすべてが現在のシェルに影響を及ぼします。
を使う代わりに
exit
を使用する必要があります。
return
.
関連
-
[解決済み】Bashのexportコマンド
-
[解決済み] Bashスクリプトでスクリプトファイル名を知るには?
-
[解決済み] scpでファイルをコピーする:接続がタイムアウトした[closed]。
-
[解決済み] ftp: 名前またはサービスが不明
-
[解決済み] sudo: must be setuid root" というメッセージが出るが、sudo は既に root が所有している [closed] 。
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashスクリプトで、ある条件が発生したらスクリプト全体を終了させるにはどうしたらいいですか?
-
[解決済み] BashスクリプトからOSを検出する方法は?
-
[解決済み] シェルスクリプトからエコーを使わずにパスワードを取得する方法
-
[解決済み】Bashスクリプトでクリップボードにパイプを接続する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] MongoDBへの接続が拒否された errno 111
-
[解決済み] FIN_WAIT1とはどのような意味ですか?
-
[解決済み] 共有ライブラリの読み込み中にエラーが発生しました: libncurses.so.5:
-
[解決済み] scpでファイルをコピーする:接続がタイムアウトした[closed]。
-
[解決済み] ユーザーデータスクリプトは私のカスタムAMIでは動作しませんが、標準のAmazon linuxでは動作しています。
-
[解決済み] vimdiff の出力ファイルにおける +-- の意味は何ですか?それをオフにする方法は?
-
[解決済み] readChar(con, 5L, useBytes = TRUE)でのエラー:接続を開くことができません。
-
[解決済み] bashの「#$」はどういう意味ですか?
-
[解決済み】bashに「goto」文はあるのか?
-
[解決済み] bashで関数を終了させる方法