エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Bashの変数スコープについてのメモ - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Bashの変数スコープについてのメモ - Qiita
要旨 変数は基本的にグローバル変数である。同じプロセス内で参照・変更ができる。 サブシェル実行した... 要旨 変数は基本的にグローバル変数である。同じプロセス内で参照・変更ができる。 サブシェル実行した場合、元プロセスのグローバル変数を参照・変更できる。ただし、値の変更は元プロセスに伝播しない。 スクリプト内でsh実行した場合、exportされた元プロセスのグローバル変数のみ参照・変更できる。ただし、値の変更は元プロセスに伝播しない。 関数内においてlocal宣言された変数はその関数内でのみ有効で、関数外には持ち出されない。 検証 環境 Ubuntu 18.04 (WSL) bash 4.4.19 bashの実行プロセスについて 本題に入る前に子シェルや関数の実行プロセスについて確認する。 関数の実行 #!/bin/bash echo "ベタ書き" echo "main PID/BASHPID/PPID=$$/$BASHPID/$PPID" func1(){ echo "func1 PID/