date /T の出力を変数 b に代入する。
@echo off for /F "USEBACKQ" %%a in (`date /T`) do ( echo a = %%a set foo=%%a ) echo a = %%a echo foo = %foo% pause結果:
>test.bat a = 2009/05/25 a = %a foo = 2009/05/25 続行するには何かキーを押してください . . .
date /T の出力を変数 b に代入する。
@echo off for /F "USEBACKQ" %%a in (`date /T`) do ( echo a = %%a set foo=%%a ) echo a = %%a echo foo = %foo% pause結果:
>test.bat a = 2009/05/25 a = %a foo = 2009/05/25 続行するには何かキーを押してください . . .
if [ 0 = 0 ] && [ 1 = 1 ] ; then echo OK else echo NG fi #=> OK if [ 0 = 0 ] && [ 1 = 2 ] ; then echo OK else echo NG fi #=> NG
choice="null" while [ $choice = "null" ] ; do printf "Type yes/no: " read choice case $choice in yes) echo YES; break ;; no) echo NO; break ;; *) choice="null" ;; esac done
$ printf "%d\n" 07 7 $ printf "%d\n" 08 printf: 3016-002 08 は完全には変換されませんでした。 0 $ printf "%d\n" 010 810進数として扱うために expr を使う。
$ echo `expr 08` 8 $ echo `expr 09` 9 $ echo `expr 10` 10
$ start_time=`date` $ ## 時間のかかる(複数の)処理 $ echo ${start_time} -- `date` #=> Mon Aug 24 12:00:00 JST 2009 -- Mon Aug 24 13:00:00 JST 2009
if [ $1 ] ; then # $1 が存在すれば FOO=$1 else echo ARGV1 is essential exit 1 fi
if [ $1 = "aaa" ] || [ $1 = "bbb" ] ; then FOO=$1 else echo ARGV1 must be "aaa" or "bbb" exit 1 fi
$ while true ; do tail foo.log ; sleep 10 ; done
x=`printf %04d $(($1+1))` echo $x
#!/usr/bin/ksh ls xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ## 終了ステータスを返すコマンド status=$? if [ $status = 0 ] ; then echo $status OK else echo $status NG fi