Task.sh
実行権限を持つスクリプト(例)があります。
擬似コード:
if [[ Not called from inside a script ]]; then
echo 'Not called from inside a script'
else
echo 'Called from a script'
fi
Main.sh
実行権限を持つスクリプトがあります。
Value=$(Task.sh)
echo "${Value}"
予想される結果
$ Task.sh
Not called from inside a script
$ Main.sh
Called from a script
ヘルプリクエスト
疑似コードにどの条件を追加するかを提案してくださいTask.sh
ベストアンサー1
1つのオプションは要求を」これをスクリプトで実行していますか?「到着する」ターミナルまたはパイプ/ファイルに接続しますか?「これを行うと、次のような状況が可能になりますTask.sh >/tmp/file
。スクリプトでは呼び出されませんが、クリップボードの代わりにファイルに書き込む必要があるようです。
これが許可されている場合は、簡単なテストを使用できます。標準出力ターミナルに接続:
if [ -t 1 ]
then
echo "stdout is a terminal (tty)"
else
echo "not a terminal (tty)"
fi
ツールは、使用されている状況に応じて、非常に類似した方法を使用して異なる方法で使用および操作されますls
。tty
たとえば、比較しls
てls | cat