T2T2’s diary

アウトプット

210317アウトプット 勝ちにいく

日の振り返り】

間】私の行動の前に時間は平伏すが、結局時間でしか計測出来ない

・7h:睡眠

・1h:運動

・2h:ブログ+思考日誌+TwitterFacebook+0秒思考

・1.5h:Linux学習

・8h:仕事(AWS関係)

・4.5h:その他

 

動】今日はどんな遊びをしたのか?

 そういえば定期購読している方は、最近こいつ資格の話してねぇなと。忘れているわけではないのです。という言い訳を一つ。

 まず前提条件として、3月より入社して現在試用期間中です。未経験ということで年収は300万です(まじ少な!)が、なんと3ヶ月後の試用期間明けに、3ヶ月の仕事、自走力などの行動力(会社ブログの発信等)など、最大月収ベース3万円UPのチャンスがあります。年収で言ったら単純に10%も上がります。

 だからこそ資格はアピールにもなるので獲得しなければいけない。ちなみに弊社ブログ発信も1投稿につき¥1.000、2投稿は¥2.000と、最大5投稿で¥15.000頂けます。書いたらお金も貰えるし、これもアピールになると良いことづくめ。時間を注ぎ込んでやる意味があるのです。

 さて走るための人参はぶら下がっているのです。あとは走り出すだけなのです。あまり言い訳ができない様に、只今公式HPで日程の確認してきました。4月は土日含めてほぼ毎日テストは受けられるとのことです。もう受けない理由がない。

 仕事が始まってキャッチアップも必要です、最近学習しているLinuxについても学習が必要です、インフラエンジニアなのでAWS含め、インフラの学習も必要です。どれも必要です。あまりゆったり学習していくのではなく、短い時間に一つ一つのアウトプットと結果を残しながらやっていくしかないのです。

 やるからには、勝ちに行くしかないのです。

 

日のコード】計算ドリルの文章問題いつだって現実と乖離している。

感想:

もう何故かコード貼れるからよしとしよう。しかし1日学習してい時よりも、当たり前だけど書く時間がないよね。

【標準入出力】
````
#!/usr/bin/bash

#結果表示
echo 'varに入力して格納する'
read var
echo var = $var

echo '3つ入力して格納するよ'
read var1 var2 var3
echo var1 = $var1, var2 = $var2,var3 = $var3

read -p '変数を入力してください: var =' var4
echo var = $var4

echo 'パスワードを入力してください'
read -sp 'password: ' password
echo password = $password

echo '配列の練習だから、いくつでもOK' 【aは配列】
read -a names
echo names = ${names[@]}
````
【ファイル出力】
````
#!/bin/bash

read -p '値を入力してください:' var
echo var = $var > sample.txt
#次回もこのコードを利用すると、sample.txtが上書きされる

````
````
#!/bin/bash

read -p '値を入力してください:' var
echo var = $var >> sample.txt
#この場合は、sample.txtに追記きされる
````

【if文の書き方 文字の場合】
$./base6.sh yello
````
#!/usr/bin/bash

var=$1
if [ $var = 'blue' ];
then
echo '進め'
elif [ $var = 'red' ];
then
echo '止まれ'
else
echo '注意せよ'
fi
````

【if文の書き方 数字の場合】
$./base6.sh 10
````
#!/usr/bin/bash

var=$1
if [ $var = 'blue' ];
then
echo '進め'
elif [ $var = 'red' ];
then
echo '止まれ'
else
echo '注意せよ'
fi

var2=$2
if [ $var2 -eq 10 ];
then
echo '入力した数値は10です'
fi

if [ $var2 -le 5 ]; then
echo '5以下です'
elif [ $var2 -qe 60 ]; then
echo '60以上です'
else
echo '6以上59以下です'
fi
````

【シングルクォート・ダブルクォート】
````
#!/usr/bin/bash

country=Japan
echo 'I came forom $country'
echo "I came forom $country"
````
I came forom $country
I came forom Japan(基本ドルつけばダブルクォート)

【コマンド置換】
コマンドの実行結果を文字列として表示してくれる
````
#!/usr/bin/bash

filename=$(date '+%Y-%m-%d')
touch "$filename"
````

if and or !満たさない場合の処理(unless)】

【実行ファイルについての分岐条件】
cmd1 && cmd2 cmd1が実行ならcmd2
cmd1 || cmd2 cmd1がエラーならcmd2
cmd1 && cmd2 || cmd3 cmd1が実行ならcmd2,cmd1がエラーならcmd3

$ ./base7.sh 40
````
#!/usr/bin/bash

# and 4通りの書き方を記述します
if [ $1 -gt 20 ] && [ $1 -le 60 ]; then
if [ $1 -gt 20 -a $1 -le 60 ]; then
if [[ $1 -gt 20 && $1 -le 60 ]]; then
if test $1 -gt 20 && test $1 -le 60; then
echo '第一引数が、20より多くて60以下です'
fi
````

$ ./base7.sh 63
````
#!/usr/bin/bash

# or 4通りの書き方を記述します
if [ $2 -lt 10 ] || [ $2 -gt 60 ]; then
if [ $2 -lt 10 -o $2 -gt 60 ]; then
if [[ $2 -lt 10 || $2 -gt 60 ]]; then
if test $2 -lt 10 && test $2 -gt 60; then
echo '第二引数が、10より小さい又は、60より大きいです'
fi
````

$ ./base7.sh banana
````
#!/usr/bin/bash

# not
if ! test $3 = 'apple';then
echo 'appliじゃないよ'
fi
````

【ファイル or ディレクトリの存在チェック】
````
#!/usr/bin/bash

#ファイル又ディレクトリが存在する
if [ -e 'sample.txt' ]; then
echo 'sample.txtが存在します'
fi
 
#ファイルが存在する
if [ -f 'sample.txt' ]; then
echo 'sample.txtが存在します'
fi
 
#ディレクトリが存在する
if [ -d 'sample' ]; then
echo 'sampleが存在します'
fi


````
FizzBuzz
#!/usr/bin/bash

for var in `seq 1 100`;
do
if [ $*1 -eq 0 ] && [ $*2 -eq 0 ]; then
echo 'FizzBuzz'
elif [ $*3 -eq 0 ]; then
echo 'Fizz'
elif [ $*4 -eq 0 ]; then
echo 'Buzz'
else
echo $var
fi
done


FizzBuzz
#!/usr/bin/bash

var=1
while *5;
do
if [ $*6 -eq 0 ] && [ $*7 -eq 0 ]; then
echo 'FizzBuzz'
elif [ $*8 -eq 0 ]; then
echo 'Fizz'
elif [ $*9 -eq 0 ]; then
echo 'Buzz'
else
echo $var
fi
var=$*10
done


【ファイルの中身を計算する】
#!/usr/bin/bash

read -p 'ファイル名を入力してください:' fh

if [ -f $fh ]; then
read -p 'sum, avg, min, max, exitを選択してください:' command
if [ $command = 'sum' ]; then
sum=0
while read p;
do
sum=$*11
done < $fh
echo SUM: $sum
exit 0
elif [ $command = 'avg' ]; then
sum=0
count=0
while read p;
do
sum=$*12
count=$*13
done < $fh
echo AVG: $*15
exit 0
elif [ $command = 'min' ]; then
min=101
while read p;
do
if [ $min -gt $p ]; then
min=$p
fi
done < $fh
echo MIN: $min
exit 0
elif [ $command = 'max' ]; then
max=0
while read p;
do
if [ $max -lt $p ]; then
max=$p
fi
done
echo MAX: $max
exit 0
elif [ $command = 'exit' ]; then
exit 0
else
echo 'そのようなコマンドは存在しません'
exit 1
fi
else
echo 'ファイルが存在しません'
exit 1
fi

*1: var % 3

*2: var % 5

*3: var % 3

*4: var % 15

*5: $var <= 100

*6: var % 3

*7: var % 5

*8: var % 3

*9: var % 15

*10: var + 1

*11: sum + p

*12: sum + p

*13: count + 1

*14: sum

*15: sum / count