SlideShare a Scribd company logo
1 of 18
Download to read offline
trueコマンドに
0以外の終了コードを
吐かせる方法
2015/10/31
@mutz0623
はじめに
• trueコマンドは常に0=成功のステータスを返すコマ
ンドである。
• では、0以外のステータスを返すことは本当に出来
ないのか?
true(1) true(1)
名前
true - 何もせずに成功する
書式
true [--help] [--version]
説明
true は終了ステータスとして「成功」を意味する 0 を返す以外何もしない。
※本スライドに例示しているプログラムは環境に重
大な影響を及ぼす可能性があります。
「それ、○○で出来るよ」
• falseコマンド?
• No
• コマンドの前に!をつけると
結果が反転するよ
• 違う、そうじゃない
$ /bin/true
$ echo $?
0
$
$ ! /bin/true
$ echo $?
1
$
trueコマンド自体が、自身の終了コードとして、
0=成功以外を返すことはできるのか?
オプションは?
• $ man trueして出てくるオプションは「--help」と「--
version」
• どちらも終了ステータスは変わらない
$ /bin/true --help >/dev/null
$ echo $?
0
$ /bin/true --version >/dev/null
$ echo $?
0
$
隠しオプションとかあるんじゃな
いの?
• とりあえずソースコードをDL
$ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.24.tar.xz
--2015-10-29 20:11:31-- http://ftp.gnu.org/gnu/coreutils/coreutils-8.24.tar.xz
ftp.gnu.org をDNSに問いあわせています... 208.118.235.20, 2001:4830:134:3::b
ftp.gnu.org|208.118.235.20|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 5649896 (5.4M) [application/x-tar]
`coreutils-8.24.tar.xz' に保存中
100%[======================================>] 5,649,896 1.72M/s 時間 3.1s
2015-10-29 20:11:35 (1.72 MB/s) - `coreutils-8.24.tar.xz' へ保存完了
[5649896/5649896]
$ tar Jxf coreutils-8.24.tar.xz
$ ls coreutils-8.24/src/true.c
coreutils-8.24/src/true.c
$ vim coreutils-8.24/src/true.c
ソースコードを見てみる
/* Exit with a status code indicating success.
Copyright (C) 1999-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
#include <sys/types.h>
#include "system.h"
/* Act like "true" by default; false.c overrides this. */
#ifndef EXIT_STATUS
# define EXIT_STATUS EXIT_SUCCESS
#endif
#if EXIT_STATUS == EXIT_SUCCESS
# define PROGRAM_NAME "true"
#else
# define PROGRAM_NAME "false"
#endif
#define AUTHORS proper_name ("Jim Meyering")
void
usage (int status)
{
printf (_("¥
Usage: %s [ignored command line arguments]¥n¥
or: %s OPTION¥n¥
"),
program_name, program_name);
printf ("%s¥n¥n",
_(EXIT_STATUS == EXIT_SUCCESS
? N_("Exit with a status code indicating success.")
: N_("Exit with a status code indicating failure.")));
fputs (HELP_OPTION_DESCRIPTION, stdout);
fputs (VERSION_OPTION_DESCRIPTION, stdout);
printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME);
emit_ancillary_info (PROGRAM_NAME);
exit (status);
}
int
main (int argc, char **argv)
{
/* Recognize --help or --version only if it's the only command-line
argument. */
if (argc == 2)
{
initialize_main (&argc, &argv);
set_program_name (argv[0]);
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
/* Note true(1) will return EXIT_FAILURE in the
edge case where writes fail with GNU specific options. */
atexit (close_stdout);
if (STREQ (argv[1], "--help"))
usage (EXIT_STATUS);
if (STREQ (argv[1], "--version"))
version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, Version, AUTHORS,
(char *) NULL);
}
return EXIT_STATUS;
}
オプションが設定
されていた場合
main関数ここから
ソースコードから
• 「隠しオプション」などない
• 外部から終了ステータスを指定する機能もない
• 基本的にEXIT_STATUS=EXIT_SUCCESS
そこで処理をフックする
• 「処理をフック」 #とは
• LD_PRELOADを使ってカジュアルにフックを実現
hello.c
#include<stdio.h>
int main(void){
puts("hello");
return 0;
}
/lib64/libc.so.6
int puts(const char *s){
…
}
original-lib.so
int puts(const char *s){
…
}
どの処理をフックする?
• trueコマンドは実際何もしてないので、exit(3)くらい
しか、フックできる場所がない(?)
$ ltrace /bin/true
(0, 0, 243456, -1, 0x1f25bc2) = 0x7f6fb9924160
__libc_start_main(0x401260, 1, 0x7ffc672d4ae8, 0x403420, 0x403410 <unfinished ...>
exit(0 <unfinished ...>
+++ exited (status 0) +++
$
• ltraceで処理を追ってみる
• ltrace(1)=プログラムのライブラリ関数の呼び出しをト
レースして表示
やってみた(やっつけ)
• _exit(2)
• システムコール=カーネルへの直接命令
$ cat hook-exit.c
#include <unistd.h>
void exit(int status){
_exit(255);
}
$ gcc -fPIC -shared -o hook-exit.so hook-exit.c
$ LD_PRELOAD=./hook-exit.so /bin/true
$ echo $?
255
$
ちょっとだけちゃんとやる
• _exit(2)ではなく、本来のexit(3)を実行するようにし
てみる
$ cat hook-exit2.c
#include <unistd.h>
#include <dlfcn.h>
void *g_h;
void (*g_f)(int) __attribute__((noreturn));
void exit(int status)
{
g_h = dlopen("libc.so.6", RTLD_LAZY);
g_f = dlsym(g_h, "exit");
(*g_f)(255);
}
$ gcc -fPIC -shared -o hook-exit2.so hook-
exit2.c
$ LD_PRELOAD=./hook-exit2.so /bin/true
/bin/true: symbol lookup error: ./hook-
exit2.so: undefined symbol: dlopen
$
$ gcc -fPIC -shared -o hook-exit2.so hook-
exit2.c -ldl
$ LD_PRELOAD=./hook-exit2.so /bin/true
$ echo $?
255
$
とりあえずできた
• あんまりシェル芸っぽくない
ついでに素数でも計算してみる
#include <unistd.h>
#include <dlfcn.h>
void *g_h;
void (*g_f)(int) __attribute__((noreturn));
void exit(int status){
g_h = dlopen("libc.so.6", RTLD_LAZY);
g_f = dlsym(g_h, "exit");
system("seq 1 100|factor|sed -rn '/: [0-9]+$/='");
(*g_f)(255);
}
どうなる?
#include <unistd.h>
#include <dlfcn.h>
void *g_h;
void (*g_f)(int) __attribute__((noreturn));
void exit(int status){
g_h = dlopen("libc.so.6", RTLD_LAZY);
g_f = dlsym(g_h, "exit");
system("seq 1 100|factor|sed -rn '/: [0-9]+$/='");
(*g_f)(255);
}
それぞれのコマンドがこのexit()を呼び出して、
更に素数ワンライナーが実行される。
→回りくどいfork bomb
(少しだけ)真面目にやる
• 「trueコマンドを実行すると、100までの素数を表示する」
#include <unistd.h>
#include <dlfcn.h>
#include <stdio.h>
void *g_h;
void (*g_f)(int) __attribute__((noreturn));
int isPrime(int num){
int i;
if(num<2) return 0;
for(i=2;i<num;i++)
if(num%i==0)
return 0;
return 1;
}
void exit(int status){
int num;
g_h = dlopen("libc.so.6", RTLD_LAZY);
g_f = dlsym(g_h, "exit");
for(num=1; num<=100; num++){
if( isPrime(num) ){
fprintf(stderr,"%d is prime!¥n",status);
}
}
(*g_f)(255);
}
もはやtrueコマンド関係ない
せっかくなので
• 「終了ステータスが素数かどうか判定して表示」
#include <unistd.h>
#include <dlfcn.h>
#include <stdio.h>
void *g_h;
void (*g_f)(int) __attribute__((noreturn));
int isPrime(int num){
int i;
if(num<2) return 0;
for(i=2;i<num;i++)
if(num%i==0)
return 0;
return 1;
}
void exit(int status){
int i;
g_h = dlopen("libc.so.6", RTLD_LAZY);
g_f = dlsym(g_h, "exit");
isPrime(status) ? fprintf(stderr,"%d is prime!¥n",status)
: fprintf(stderr,"%d is not
prime!¥n",status);
(*g_f)(status);
}
「export LD_PRELOAD=hook-exit-prime.so」して
からいくつかコマンド操作をしてみると、、、
まとめ
• 終了ステータスが素数かどうかを意識しながらの
CUIライフという新提案
• コマンドをどう使うと終了ステータスがいくつになるか、
把握しながらのコマンド投入
参考
• LD_PRELOADで関数フックしてみよう! - バイナリの
歩き方
• http://07c00.hatenablog.com/entry/2013/09/02/003629
• Linux 共有ライブラリ(.so)の動作を変える。
LD_PRELOADで楽しく遊ぶ:Garbage In Garbage Out
• http://g1g0.com/2012/04/1790/
$ uname -r
2.6.32-573.7.1.el6.x86_64
$ cat /etc/redhat-release
CentOS release 6.7 (Final)
動作環境

More Related Content

What's hot

Goの文法の実例と解説
Goの文法の実例と解説Goの文法の実例と解説
Goの文法の実例と解説Ryuji Iwata
 
Gofのデザインパターン stateパターン編
Gofのデザインパターン stateパターン編Gofのデザインパターン stateパターン編
Gofのデザインパターン stateパターン編Ayumu Itou
 
詳説ぺちぺち
詳説ぺちぺち詳説ぺちぺち
詳説ぺちぺちdo_aki
 
Continuation with Boost.Context
Continuation with Boost.ContextContinuation with Boost.Context
Continuation with Boost.ContextAkira Takahashi
 
超簡単!SubversionとTortoiseSVN入門(操作編2)
超簡単!SubversionとTortoiseSVN入門(操作編2)超簡単!SubversionとTortoiseSVN入門(操作編2)
超簡単!SubversionとTortoiseSVN入門(操作編2)Shin Tanigawa
 
Boost.Coroutine
Boost.CoroutineBoost.Coroutine
Boost.Coroutinemelpon
 
Sapporocpp#2 exception-primer
Sapporocpp#2 exception-primerSapporocpp#2 exception-primer
Sapporocpp#2 exception-primerKohsuke Yuasa
 
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512Takefumi MIYOSHI
 
お前は PHP の歴史的な理由の数を覚えているのか
お前は PHP の歴史的な理由の数を覚えているのかお前は PHP の歴史的な理由の数を覚えているのか
お前は PHP の歴史的な理由の数を覚えているのかKousuke Ebihara
 
パケットキャプチャの定番! Wiresharkのインストールとミニ紹介
パケットキャプチャの定番! Wiresharkのインストールとミニ紹介パケットキャプチャの定番! Wiresharkのインストールとミニ紹介
パケットキャプチャの定番! Wiresharkのインストールとミニ紹介Shin Tanigawa
 
超簡単!Subversion入門 準備編
超簡単!Subversion入門 準備編超簡単!Subversion入門 準備編
超簡単!Subversion入門 準備編Shin Tanigawa
 
Boost9 session
Boost9 sessionBoost9 session
Boost9 sessionfreedom404
 
超簡単!Subversion入門 概念編
超簡単!Subversion入門 概念編超簡単!Subversion入門 概念編
超簡単!Subversion入門 概念編Shin Tanigawa
 

What's hot (20)

Goの文法の実例と解説
Goの文法の実例と解説Goの文法の実例と解説
Goの文法の実例と解説
 
Gofのデザインパターン stateパターン編
Gofのデザインパターン stateパターン編Gofのデザインパターン stateパターン編
Gofのデザインパターン stateパターン編
 
Scope Exit
Scope ExitScope Exit
Scope Exit
 
0x300
0x3000x300
0x300
 
詳説ぺちぺち
詳説ぺちぺち詳説ぺちぺち
詳説ぺちぺち
 
Continuation with Boost.Context
Continuation with Boost.ContextContinuation with Boost.Context
Continuation with Boost.Context
 
超簡単!SubversionとTortoiseSVN入門(操作編2)
超簡単!SubversionとTortoiseSVN入門(操作編2)超簡単!SubversionとTortoiseSVN入門(操作編2)
超簡単!SubversionとTortoiseSVN入門(操作編2)
 
Boost.Coroutine
Boost.CoroutineBoost.Coroutine
Boost.Coroutine
 
PHP language update 201211
PHP language update 201211PHP language update 201211
PHP language update 201211
 
Sapporocpp#2 exception-primer
Sapporocpp#2 exception-primerSapporocpp#2 exception-primer
Sapporocpp#2 exception-primer
 
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512
 
Bluespec @waseda(PDF)
Bluespec @waseda(PDF)Bluespec @waseda(PDF)
Bluespec @waseda(PDF)
 
お前は PHP の歴史的な理由の数を覚えているのか
お前は PHP の歴史的な理由の数を覚えているのかお前は PHP の歴史的な理由の数を覚えているのか
お前は PHP の歴史的な理由の数を覚えているのか
 
パケットキャプチャの定番! Wiresharkのインストールとミニ紹介
パケットキャプチャの定番! Wiresharkのインストールとミニ紹介パケットキャプチャの定番! Wiresharkのインストールとミニ紹介
パケットキャプチャの定番! Wiresharkのインストールとミニ紹介
 
Synthesijer hls 20150116
Synthesijer hls 20150116Synthesijer hls 20150116
Synthesijer hls 20150116
 
超簡単!Subversion入門 準備編
超簡単!Subversion入門 準備編超簡単!Subversion入門 準備編
超簡単!Subversion入門 準備編
 
Boost9 session
Boost9 sessionBoost9 session
Boost9 session
 
Slide
SlideSlide
Slide
 
pecl-AOPの紹介
pecl-AOPの紹介pecl-AOPの紹介
pecl-AOPの紹介
 
超簡単!Subversion入門 概念編
超簡単!Subversion入門 概念編超簡単!Subversion入門 概念編
超簡単!Subversion入門 概念編
 

Viewers also liked

ICN Victoria: Burrell on "RV Failure for the Intensivist"
ICN Victoria: Burrell on "RV Failure for the Intensivist"ICN Victoria: Burrell on "RV Failure for the Intensivist"
ICN Victoria: Burrell on "RV Failure for the Intensivist"Intensive Care Network Victoria
 
The Evolving Role of Echocardiography in Sepsis
The Evolving Role of Echocardiography in SepsisThe Evolving Role of Echocardiography in Sepsis
The Evolving Role of Echocardiography in SepsisHatem Soliman Aboumarie
 
Passive leg raising an indicator of fluid responsiveness in sepsis
Passive leg raising  an indicator of fluid  responsiveness in sepsisPassive leg raising  an indicator of fluid  responsiveness in sepsis
Passive leg raising an indicator of fluid responsiveness in sepsisSoumar Dutta
 
Icu echocardiography
Icu echocardiographyIcu echocardiography
Icu echocardiographysantoshbhskr
 
Inferior Vena Cava Guided Fluid Resuscitation
Inferior Vena Cava Guided Fluid ResuscitationInferior Vena Cava Guided Fluid Resuscitation
Inferior Vena Cava Guided Fluid ResuscitationHon Liang
 
Rob Mac Sweeney vs Paul Marik - Predicting Fluid Responsiveness is a Waste of...
Rob Mac Sweeney vs Paul Marik - Predicting Fluid Responsiveness is a Waste of...Rob Mac Sweeney vs Paul Marik - Predicting Fluid Responsiveness is a Waste of...
Rob Mac Sweeney vs Paul Marik - Predicting Fluid Responsiveness is a Waste of...SMACC Conference
 
Monitoring Fluid Responsiveness in ICU
Monitoring Fluid Responsiveness in ICUMonitoring Fluid Responsiveness in ICU
Monitoring Fluid Responsiveness in ICUYazan Kherallah
 
Static and dynamic indices of hemodynamic monitoring
Static and dynamic indices of hemodynamic monitoringStatic and dynamic indices of hemodynamic monitoring
Static and dynamic indices of hemodynamic monitoringBhargav Mundlapudi
 
Fluid responsiveness - an ICU phoenix
Fluid responsiveness - an ICU phoenixFluid responsiveness - an ICU phoenix
Fluid responsiveness - an ICU phoenixNIICS
 
Fluid responsiveness in critically ill patients
Fluid responsiveness in critically ill patientsFluid responsiveness in critically ill patients
Fluid responsiveness in critically ill patientsUbaidur Rahaman
 
Predicting fluid response in the ICU
Predicting fluid response in the ICUPredicting fluid response in the ICU
Predicting fluid response in the ICUAndrew Ferguson
 
Fluid balance and therapy in critically ill
Fluid balance and therapy in critically illFluid balance and therapy in critically ill
Fluid balance and therapy in critically illAnand Tiwari
 
HEMODYNAMICS MONITORING IN CRITICALLY ILL PATIENTS: ASSESSMENT OF FLUID STATU...
HEMODYNAMICS MONITORING IN CRITICALLY ILL PATIENTS: ASSESSMENT OF FLUID STATU...HEMODYNAMICS MONITORING IN CRITICALLY ILL PATIENTS: ASSESSMENT OF FLUID STATU...
HEMODYNAMICS MONITORING IN CRITICALLY ILL PATIENTS: ASSESSMENT OF FLUID STATU...Bassel Ericsoussi, MD
 

Viewers also liked (13)

ICN Victoria: Burrell on "RV Failure for the Intensivist"
ICN Victoria: Burrell on "RV Failure for the Intensivist"ICN Victoria: Burrell on "RV Failure for the Intensivist"
ICN Victoria: Burrell on "RV Failure for the Intensivist"
 
The Evolving Role of Echocardiography in Sepsis
The Evolving Role of Echocardiography in SepsisThe Evolving Role of Echocardiography in Sepsis
The Evolving Role of Echocardiography in Sepsis
 
Passive leg raising an indicator of fluid responsiveness in sepsis
Passive leg raising  an indicator of fluid  responsiveness in sepsisPassive leg raising  an indicator of fluid  responsiveness in sepsis
Passive leg raising an indicator of fluid responsiveness in sepsis
 
Icu echocardiography
Icu echocardiographyIcu echocardiography
Icu echocardiography
 
Inferior Vena Cava Guided Fluid Resuscitation
Inferior Vena Cava Guided Fluid ResuscitationInferior Vena Cava Guided Fluid Resuscitation
Inferior Vena Cava Guided Fluid Resuscitation
 
Rob Mac Sweeney vs Paul Marik - Predicting Fluid Responsiveness is a Waste of...
Rob Mac Sweeney vs Paul Marik - Predicting Fluid Responsiveness is a Waste of...Rob Mac Sweeney vs Paul Marik - Predicting Fluid Responsiveness is a Waste of...
Rob Mac Sweeney vs Paul Marik - Predicting Fluid Responsiveness is a Waste of...
 
Monitoring Fluid Responsiveness in ICU
Monitoring Fluid Responsiveness in ICUMonitoring Fluid Responsiveness in ICU
Monitoring Fluid Responsiveness in ICU
 
Static and dynamic indices of hemodynamic monitoring
Static and dynamic indices of hemodynamic monitoringStatic and dynamic indices of hemodynamic monitoring
Static and dynamic indices of hemodynamic monitoring
 
Fluid responsiveness - an ICU phoenix
Fluid responsiveness - an ICU phoenixFluid responsiveness - an ICU phoenix
Fluid responsiveness - an ICU phoenix
 
Fluid responsiveness in critically ill patients
Fluid responsiveness in critically ill patientsFluid responsiveness in critically ill patients
Fluid responsiveness in critically ill patients
 
Predicting fluid response in the ICU
Predicting fluid response in the ICUPredicting fluid response in the ICU
Predicting fluid response in the ICU
 
Fluid balance and therapy in critically ill
Fluid balance and therapy in critically illFluid balance and therapy in critically ill
Fluid balance and therapy in critically ill
 
HEMODYNAMICS MONITORING IN CRITICALLY ILL PATIENTS: ASSESSMENT OF FLUID STATU...
HEMODYNAMICS MONITORING IN CRITICALLY ILL PATIENTS: ASSESSMENT OF FLUID STATU...HEMODYNAMICS MONITORING IN CRITICALLY ILL PATIENTS: ASSESSMENT OF FLUID STATU...
HEMODYNAMICS MONITORING IN CRITICALLY ILL PATIENTS: ASSESSMENT OF FLUID STATU...
 

Similar to trueコマンドに0以外の終了コードをはかせる方法

20200930 CDLE LT#2_COD_AkihiroITO
20200930 CDLE LT#2_COD_AkihiroITO20200930 CDLE LT#2_COD_AkihiroITO
20200930 CDLE LT#2_COD_AkihiroITOAkihiro ITO
 
あんなテスト、こんなテスト(this and that about testing)
あんなテスト、こんなテスト(this and that about testing)あんなテスト、こんなテスト(this and that about testing)
あんなテスト、こんなテスト(this and that about testing)Takuya Tsuchida
 
TotalViewを使った代表的なバグに対するアプローチ
TotalViewを使った代表的なバグに対するアプローチTotalViewを使った代表的なバグに対するアプローチ
TotalViewを使った代表的なバグに対するアプローチRWSJapan
 
GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法博文 斉藤
 
An other world awaits you
An other world awaits youAn other world awaits you
An other world awaits you信之 岩永
 
Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編Hiromu Yakura
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2Masao Kato
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
Perl 非同期プログラミング
Perl 非同期プログラミングPerl 非同期プログラミング
Perl 非同期プログラミングlestrrat
 
究極のバッチフレームワーク(予定)
究極のバッチフレームワーク(予定)究極のバッチフレームワーク(予定)
究極のバッチフレームワーク(予定)fumoto kazuhiro
 
Boost jp9 program_options
Boost jp9 program_optionsBoost jp9 program_options
Boost jp9 program_optionsnyaocat
 
Xtend - Javaの未来を今すぐ使う
Xtend - Javaの未来を今すぐ使うXtend - Javaの未来を今すぐ使う
Xtend - Javaの未来を今すぐ使うTatsumi Naganuma
 
Programming camp 2010 debug hacks
Programming camp 2010 debug hacksProgramming camp 2010 debug hacks
Programming camp 2010 debug hacksHiro Yoshioka
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Ransui Iso
 
Visual C++で使えるC++11
Visual C++で使えるC++11Visual C++で使えるC++11
Visual C++で使えるC++11nekko1119
 

Similar to trueコマンドに0以外の終了コードをはかせる方法 (20)

20200930 CDLE LT#2_COD_AkihiroITO
20200930 CDLE LT#2_COD_AkihiroITO20200930 CDLE LT#2_COD_AkihiroITO
20200930 CDLE LT#2_COD_AkihiroITO
 
あんなテスト、こんなテスト(this and that about testing)
あんなテスト、こんなテスト(this and that about testing)あんなテスト、こんなテスト(this and that about testing)
あんなテスト、こんなテスト(this and that about testing)
 
TotalViewを使った代表的なバグに対するアプローチ
TotalViewを使った代表的なバグに対するアプローチTotalViewを使った代表的なバグに対するアプローチ
TotalViewを使った代表的なバグに対するアプローチ
 
GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法
 
An other world awaits you
An other world awaits youAn other world awaits you
An other world awaits you
 
Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編
 
Perl勉強会#2資料
Perl勉強会#2資料Perl勉強会#2資料
Perl勉強会#2資料
 
PHP 入門
PHP 入門PHP 入門
PHP 入門
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
Processing
ProcessingProcessing
Processing
 
Perl 非同期プログラミング
Perl 非同期プログラミングPerl 非同期プログラミング
Perl 非同期プログラミング
 
究極のバッチフレームワーク(予定)
究極のバッチフレームワーク(予定)究極のバッチフレームワーク(予定)
究極のバッチフレームワーク(予定)
 
Boost jp9 program_options
Boost jp9 program_optionsBoost jp9 program_options
Boost jp9 program_options
 
Xtend - Javaの未来を今すぐ使う
Xtend - Javaの未来を今すぐ使うXtend - Javaの未来を今すぐ使う
Xtend - Javaの未来を今すぐ使う
 
Programming camp 2010 debug hacks
Programming camp 2010 debug hacksProgramming camp 2010 debug hacks
Programming camp 2010 debug hacks
 
20141129-dotNet2015
20141129-dotNet201520141129-dotNet2015
20141129-dotNet2015
 
Junit4
Junit4Junit4
Junit4
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
 
Visual C++で使えるC++11
Visual C++で使えるC++11Visual C++で使えるC++11
Visual C++で使えるC++11
 

Recently uploaded

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 

Recently uploaded (10)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

trueコマンドに0以外の終了コードをはかせる方法