予期しないソース(エラー)の動作

予期しないソース(エラー)の動作

私のホームディレクトリにRaspberry Piアドレスを持つファイルがありますpi

pi=192.168.0.173

Piに接続するには、ホームディレクトリで次の操作を行います。

. pi && ssh pi@$pi

効率的。その後、次のスクリプトで改善しました~/bin

#!/bin/bash
. ~/pi
ssh pi@$pi

今私はこれをします:

pi

もちろん動作します。しかし、時にはPi IPが必要です。次に、ホームディレクトリで次の操作を行います。

. pi

しかし、ファイルをインポートする代わりにPiに接続しています。状況をさらに変にするために、

$ . pi && echo ok
pi@raspberrypi:~ $ logout
Connection to 192.168.0.173 closed.
ok

zsh私はすべてdashで同じ動作を取得しますsh。誰かがこれを説明できますか?

答え1

manこれらすべてを知っておきましょう... Bashからのものです。

ソースファイル名[パラメータ]
      現在のシェルからファイル名のコマンドを読んで実行します。
      環境を終了し、最後のコマンドexeの終了ステータスを返します。
      ファイル名から削除されました。  ファイル名にスラッシュが含まれていない場合
      PATH のファイル名は、以下を含むディレクトリを検索するために使用されます。
      ファイル名。  PATHで検索されたファイルは実行可能である必要はありません。
      Bashがposixモードでない場合、現在のディレクトリは次のようになります。
      PATH でファイルが見つからない場合、検索が実行されます。  ソースパスオプションの場合
      shopt 組み込みコマンドがオフになっており、パスがありません。
      検索されました。引数が指定されると正の値になります。
      filenameを実行したときのパラメータです。そうでなければ
      位置パラメータは変更されません。返品状態は
      スクリプトの最後のコマンドの終了状態(ない場合は0)
      コマンドが実行されます)、ファイル名が見つからない場合はfalseを返します。
      読めません。

関連情報