今度はshell scriptで
検索でこのページが引っかかっているようですが
消しちゃったので別の記事を載せます
以前pythonとRでやったことをShell scriptでも書いてみた
mecobalamin.hatenablog.com
mecobalamin.hatenablog.com
書いたスクリプトはこれ
#!/bin/bash ppap_array=() ppap_word=("Pen" "Pineapple" "Apple") ppap_true=("Pen" "Pineapple" "Apple" "Pen") ppap_flag="" while [ "$ppap_flag" != "PPAP!" ] do for i in {0..3} do rand_n=$(($RANDOM % 3)) ppap_array+=(${ppap_word[${rand_n}]}) done echo ${ppap_array[@]} for i in {0..3} do if [ ${ppap_array[i]} != ${ppap_true[i]} ]; then break elif [ ${i} = 3 ]; then ppap_flag="PPAP!" break fi done ppap_array=() done echo "" echo ${ppap_flag}
スクリプトのファイルに実行権限を与える
$ chmod 755 PPAP.sh
実行結果はこんな感じになる
$ ./PPAP.sh Apple Pen Pen Apple Pen Pen Pen Pineapple Pineapple Apple Apple Apple Apple Pineapple Pen Apple Pen Pineapple Apple Pen PPAP!
配列を直接比較する方法を探せなかった
何かありそうだけど。。。
while文/if文の使い方もいまいちわかってない
もう少し短く書けないか試す
14 July 2019追記
ワンライナーで書いている
ズンドコキヨシ with {k,ba,z}sh and sed - Qiita
出力をパイプで繋いで処理を続けるのが特徴か
配列を使ってないし。。。
スクリプトの特徴をうまく使えるようになりたい