
シェルスクリプト(sh)の関数の戻り値とtestコマンドによる判定の仕方が分かりません。
--------------------------------------------------
#!/bin/sh
. GetYesNo.sh #外部シェルスクリプトを読み込んで...
GetYesNo $1 #このGetYesNoの戻り値は0か1を出力するようにする。
if[ ??? -eq 0 ]; then #"???"の部分に何を入力すれば良いか分かりません。
echo "真(0)です。"
else
echo "偽(0以外)です。"
fi
--------------------------------------------------
戻り値が0か1しか出力しない外部シェルスクリプトを読み込んで、その戻り値をtestコマンドを利用して、0か1のどちらかを判定して、それぞれの出力を出したいけれど、どうやって出来ますでしょうか。
色々な方法を試してみましたが、ダメでした。
上記のコードの書き間違いがあると思いますが、あったらご指摘をお願いします。
No.1ベストアンサー
- 回答日時:
GetYesNo.shの中で GetYesNo()が定義されていて、return 0 か return 1で戻り値を返す、ということでよろしいでしょうか?
方法1) 特殊変数$?の利用
GetYesNo $1
if [ "$?" -eq 0 ] ; then
直前のステータスなので、間に他のコマンドを実行しているとそちらの値になる
GetYesNo $1
echo "$?" # $?=GetYesNo $?の戻り値
if [ "$?" -eq 0 ] ; then #$?= echo "$?"の戻り値
方法2) GetYesNoを直接使用
test 命令( とその省略形の[ )は不要
# GetYesNo $1 #ここにはいらない
if GetYesNo $1 ; then
大変参考になりました。
本当にありがとうございます。
あっさりと解決できました。
もちろん、方法1と方法2とも両方とも解決できました。
方法2のtest命令の不要の件ですが、そういう方法もあったのですね。
こんな便利な方法もあることは全然知りませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
- UNIX・Linux Linuxについて2つ質問したいです。 ① シェルスクリプト名をawk1.shとして、指定されたデー 1 2023/02/03 03:49
- UNIX・Linux Linuxのbash環境下です。 1 2022/11/27 12:31
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- UNIX・Linux Linuxのメッセージを出力して処理を終了する方法 1 2022/11/19 20:31
- UNIX・Linux Debianでシェルスクリプトにおいて正規表現の条件文で[[,]]が使えないので困ってます 2 2023/01/20 09:27
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- その他(プログラミング・Web制作) test([)コマンドによる条件判定 2 2022/08/10 12:28
- その他(プログラミング・Web制作) zshの例外処理 1 2022/06/02 16:36
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WinSCPでLinux(CentOS6.10)に...
-
LinuxでWine使うとどのくらいWi...
-
Core 2 Duo の古いパソコンに最...
-
Linux のシェルスクリプトの強...
-
bashでシングルクォート内の変...
-
Linuxでブートディスクの交換後...
-
ssh接続しようとしたらエラーメ...
-
インストールできないですどう...
-
「/var/log」内のログの削除の...
-
ssl_request_logの必要性について
-
ubuntuのシャットダウンが進ま...
-
CentOSが起動時にフリーズ
-
ubuntu(linux)のシャットダウン...
-
ubuntuで デイスク/deb/loopと...
-
zorin OS
-
私のパソコンでVirtualBoxは使...
-
WineのRufusでデバイスを検知す...
-
Ubuntuで数字だけのユーザーア...
-
いつの間にか自宅サーバーが見...
-
プロジェクタに背景しか映らない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
LinuxでWine使うとどのくらいWi...
-
Core 2 Duo の古いパソコンに最...
-
Linux のシェルスクリプトの強...
-
ubuntu(linux)のシャットダウン...
-
bashでシングルクォート内の変...
-
ubuntuで デイスク/deb/loopと...
-
apacheでリバースプロキシを設...
-
CentOSが起動時にフリーズ
-
ubuntuのシャットダウンが進ま...
-
ubuntu が起動しない。
-
Windowsのローカルディレクトリ...
-
Ububtuでファイル共有できない...
-
Ubuntu on Xorgのログインについて
-
ログにserver reached MaxReque...
-
「/var/log」内のログの削除の...
-
ubuntu 24 へのCanon 複合機ス...
-
ssl_request_logの必要性について
-
私のパソコンでVirtualBoxは使...
-
WineのRufusでデバイスを検知す...
-
LinuxのノートパソコンでDVDコ...
おすすめ情報