日頃の学習メモ。

判定

ファイル関係
-e filefile が存在すれば真
-s fileファイルが存在し、サイズが 0 より大きければ真
-d filefile がディレクトリならば真
文字列関係
-n strstr が長さ 0 より大きければ真
-z strstr が長さ 0 ならば真
str1 = str2str1 と str2 が等しければ真
str1 != str2str1 と str2 が等しくなければ真
数字関係
n1 -eq n2n1 = n2 ならば真
n1 -ne n2n1 != n2 ならば真
n1 -lt n2n1 < n2 ならば真
n1 -le n2n1 <= n2 ならば真
n1 -gt n2n1 > n2 ならば真
n1 -ge n2n1 >= n2 ならば真
変数がNULLかどうかを判定する。
TEST=``
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

SQLの実行結果取得の値のみを取得する。

${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

ファイルの内容を1行ずつ読み込んで処理を実行する。

while read A B ;do
echo ${A} ${B}
done < ${DATA_FILE}

リターンコードを判定する。

CODE=$?

if [ ${CODE} -eq 0 ] ; then
exit 0
fi
exit 1

FTP送信処理。

#エラーメール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

1列目の値のみ表示。

/bin/du -sk naka | awk '{print $1}'

1秒間隔にてコマンドを実行。

# while true; do date ; pfiles 25498 | wc -l ;sleep 1;done

このページへのコメント

iCUjsP Fantastic blog.Much thanks again. Much obliged.

0
Posted by check this out 2013年12月20日(金) 11:54:08 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

Menu

ここは自由に編集できるエリアです。

管理人/副管理人のみ編集できます