シェルファイルで実行可能なシェルファイルの実行

シェルファイルで実行可能なシェルファイルの実行

私は、ユーザーが.shファイルを実行してから実行可能な.shファイルを実行するプロジェクトを進めています。

そのファイルはwifi.shと呼ばれます。ここでFluxion.shファイルの場所が実行され、Fluxionプログラムは実行されません。どのように動作させることができますか?

答え1

これは、実行したいコンテキストfluxionとツールが終了した後に発生する状況によって若干異なります。

オプション1:exec

特徴:返却不可、保管過程

wifi.sh:

#!/bin/sh
PATHTOFLUXION=/usr/local/bin/fluxion
exec $PATHTOFLUXION
echo this code is never reached

オプション2:ダイレクトコール

特徴:実際の収益、最大のシンプルさ

wifi.sh:

#!/bin/sh
PATHTOFLUXION=/usr/local/bin/fluxion
$PATHTOFLUXION
echo "I just returned from $PATHTOFLUXION"

オプション3:source

機能:呼び出されたツールがツールの終了後にアクセスしたい変数も設定するシェルスクリプトである場合、これらの変数は保持されます。

#!/bin/sh
PATHTOFLUXION=/usr/local/bin/fluxion
source $PATHTOFLUXION
echo "$PATHTOFLUXION was a shellscript and set $DATAFROMFLUX"

関連情報