ファイル関係 | |
-e file | file が存在すれば真 |
-s file | ファイルが存在し、サイズが 0 より大きければ真 |
-d file | file がディレクトリならば真 |
文字列関係 | |
-n str | str が長さ 0 より大きければ真 |
-z str | str が長さ 0 ならば真 |
str1 = str2 | str1 と str2 が等しければ真 |
str1 != str2 | str1 と str2 が等しくなければ真 |
数字関係 | |
n1 -eq n2 | n1 = n2 ならば真 |
n1 -ne n2 | n1 != n2 ならば真 |
n1 -lt n2 | n1 < n2 ならば真 |
n1 -le n2 | n1 <= n2 ならば真 |
n1 -gt n2 | n1 > n2 ならば真 |
n1 -ge n2 | n1 >= n2 ならば真 |
TEST=``
if [ "$TEST" = "" ] ←変数がNULLだった場合を考慮し、「"(ダブルクォーテーション)」で変数を囲む!!
then
<NULLだった場合の処理>
else
<NULL以外の場合の処理>
fi
if [ "$TEST" = "" ] ←変数がNULLだった場合を考慮し、「"(ダブルクォーテーション)」で変数を囲む!!
then
<NULLだった場合の処理>
else
<NULL以外の場合の処理>
fi
############################## 引数判定処理 ##############################
if ($#argv != 1 ) then
echo "引数がありません"
exit 90
endif
set USER_NAME = $argv[1]
############################## 変数定義 ##############################
set SHELL_NAME = "useradd.sh"
set USERADD = "/usr/sbin/useradd"
set USER_SHELL = "/bin/csh"
set USER_DIR = "/export/home/${USER_NAME}"
set PASSWD = "/usr/bin/passwd"
############################## メイン処理 ##############################
${USERADD} -d ${USER_DIR} -m -s ${USER_SHELL} ${USER_NAME}
set ERRLEVEL = $status
if (${ERRLEVEL} != 0 ) then
echo "ユーザー作成に失敗しました。"
exit 100
endif
echo "ユーザー${USER_NAME}が作成されました。"
${PASSWD} -d ${USER_NAME}
exit 0
if ($#argv != 1 ) then
echo "引数がありません"
exit 90
endif
set USER_NAME = $argv[1]
############################## 変数定義 ##############################
set SHELL_NAME = "useradd.sh"
set USERADD = "/usr/sbin/useradd"
set USER_SHELL = "/bin/csh"
set USER_DIR = "/export/home/${USER_NAME}"
set PASSWD = "/usr/bin/passwd"
############################## メイン処理 ##############################
${USERADD} -d ${USER_DIR} -m -s ${USER_SHELL} ${USER_NAME}
set ERRLEVEL = $status
if (${ERRLEVEL} != 0 ) then
echo "ユーザー作成に失敗しました。"
exit 100
endif
echo "ユーザー${USER_NAME}が作成されました。"
${PASSWD} -d ${USER_NAME}
exit 0
${ORACLE_HOME}/bin/sqlplus -s << EOF
${ORA_USER}/${ORA_PASS}
set echo off --スクリプト実行(※)によるコマンドの実行を表示するかしないかを設定する。
set linesize 1000 -- 1行の長さを設定する。
set pagesize 0 --1ページの行数を設定する。
set trimspool on スプールにおける TRIMOUT システム変数。
set trimout on --各行の出力の終わりから行末までの空白を出力する。
set feedback off --問い合わせの結果の件数を表示をする。
set colsep ',' --列と列の間の区切り文字を設定する。
spool ${SPOOL_DATA}
select SYSDATE from dual;
spool off
EOF
${ORA_USER}/${ORA_PASS}
set echo off --スクリプト実行(※)によるコマンドの実行を表示するかしないかを設定する。
set linesize 1000 -- 1行の長さを設定する。
set pagesize 0 --1ページの行数を設定する。
set trimspool on スプールにおける TRIMOUT システム変数。
set trimout on --各行の出力の終わりから行末までの空白を出力する。
set feedback off --問い合わせの結果の件数を表示をする。
set colsep ',' --列と列の間の区切り文字を設定する。
spool ${SPOOL_DATA}
select SYSDATE from dual;
spool off
EOF
#エラーメールFTP送信処理
$Ftp -inv "$FtpHost" << EOF > ${FTP_LOG}
user "$FtpUser" "$FtpUser"
cd /export/home/gaitame/
lcd ${MAIL_DIR}
ascii
mput *
bye
EOF
#送信成功件数
COMPLETE_COUNT=`grep 'Transfer complete.' ${FTP_LOG} | wc -l`
#送信予定件数
ERRMAIL_CONT=`ls -laR ${MAIL_DIR} | grep -c '^-'`
#FTPエラー判定
if [ ${COMPLETE_COUNT} -eq ${ERRMAIL_CONT} ] ; then
#エラーメール削除
rm -rf ${MAIL_DIR}/*
exit 0
fi
$Ftp -inv "$FtpHost" << EOF > ${FTP_LOG}
user "$FtpUser" "$FtpUser"
cd /export/home/gaitame/
lcd ${MAIL_DIR}
ascii
mput *
bye
EOF
#送信成功件数
COMPLETE_COUNT=`grep 'Transfer complete.' ${FTP_LOG} | wc -l`
#送信予定件数
ERRMAIL_CONT=`ls -laR ${MAIL_DIR} | grep -c '^-'`
#FTPエラー判定
if [ ${COMPLETE_COUNT} -eq ${ERRMAIL_CONT} ] ; then
#エラーメール削除
rm -rf ${MAIL_DIR}/*
exit 0
fi
このページへのコメント
iCUjsP Fantastic blog.Much thanks again. Much obliged.