私はGoogle翻訳を使用して文章/文書を混在させる小さなプログラムを作成しようとしています。出力ファイルはわずか3バイトで、何も含めないようです。
trans
翻訳コマンドを使用しています。
スクリプトの最初の部分:
#!/bin/bash
LANG="en"
CONTINUE=2
cd /root && CONTINUE=1
#Language Randomizer
function rl(){
LANGNUM=$(shuf -i 1-81 -n1)
if [[ $LANGNUM -eq 1 ]]
then
LANG="af"
fi
if [[ $LANGNUM -eq 2 ]]
then
LANG="am"
fi
if [[ $LANGNUM -eq 3 ]]
then
LANG="ar"
fi
if [[ $LANGNUM -eq 4 ]]
then
LANG="az"
fi
if [[ $LANGNUM -eq 5 ]]
then
LANG="ba"
fi
if [[ $LANGNUM -eq 6 ]]
then
LANG="be"
fi
if [[ $LANGNUM -eq 7 ]]
then
LANG="bg"
fi
if [[ $LANGNUM -eq 8 ]]
then
LANG="bn"
fi
if [[ $LANGNUM -eq 9 ]]
then
LANG="bs"
fi
if [[ $LANGNUM -eq 10 ]]
then
LANG="ca"
fi
if [[ $LANGNUM -eq 11 ]]
then
LANG="ceb"
fi
if [[ $LANGNUM -eq 12 ]]
then
LANG="co"
fi
if [[ $LANGNUM -eq 13 ]]
then
LANG="cs"
fi
if [[ $LANGNUM -eq 14 ]]
then
LANG="cy"
fi
if [[ $LANGNUM -eq 15 ]]
then
LANG="da"
fi
if [[ $LANGNUM -eq 16 ]]
then
LANG="de"
fi
if [[ $LANGNUM -eq 17 ]]
then
LANG="el"
fi
if [[ $LANGNUM -eq 18 ]]
then
LANG="emj"
fi
if [[ $LANGNUM -eq 19 ]]
then
LANG="eo"
fi
if [[ $LANGNUM -eq 20 ]]
then
LANG="es"
fi
if [[ $LANGNUM -eq 21 ]]
then
LANG="et"
fi
if [[ $LANGNUM -eq 22 ]]
then
LANG="eu"
fi
if [[ $LANGNUM -eq 23 ]]
then
LANG="fa"
fi
if [[ $LANGNUM -eq 24 ]]
then
LANG="fi"
fi
if [[ $LANGNUM -eq 25 ]]
then
LANG="fj"
fi
if [[ $LANGNUM -eq 26 ]]
then
LANG="fr"
fi
if [[ $LANGNUM -eq 27 ]]
then
LANG="fy"
fi
if [[ $LANGNUM -eq 28 ]]
then
LANG="ga"
fi
if [[ $LANGNUM -eq 29 ]]
then
LANG="gd"
fi
if [[ $LANGNUM -eq 30 ]]
then
LANG="gl"
fi
if [[ $LANGNUM -eq 31 ]]
then
LANG="gu"
fi
if [[ $LANGNUM -eq 32 ]]
then
LANG="ha"
fi
if [[ $LANGNUM -eq 33 ]]
then
LANG="haw"
fi
if [[ $LANGNUM -eq 34 ]]
then
LANG="he"
fi
if [[ $LANGNUM -eq 35 ]]
then
LANG="hi"
fi
if [[ $LANGNUM -eq 36 ]]
then
LANG="hmn"
fi
if [[ $LANGNUM -eq 37 ]]
then
LANG="hr"
fi
if [[ $LANGNUM -eq 38 ]]
then
LANG="ht"
fi
if [[ $LANGNUM -eq 39 ]]
then
LANG="hu"
fi
if [[ $LANGNUM -eq 40 ]]
then
LANG="hy"
fi
if [[ $LANGNUM -eq 41 ]]
then
LANG="id"
fi
if [[ $LANGNUM -eq 42 ]]
then
LANG="ig"
fi
if [[ $LANGNUM -eq 43 ]]
then
LANG="is"
fi
if [[ $LANGNUM -eq 44 ]]
then
LANG="it"
fi
if [[ $LANGNUM -eq 45 ]]
then
LANG="ja"
fi
if [[ $LANGNUM -eq 46 ]]
then
LANG="jv"
fi
if [[ $LANGNUM -eq 47 ]]
then
LANG="ka"
fi
if [[ $LANGNUM -eq 48 ]]
then
LANG="kk"
fi
if [[ $LANGNUM -eq 49 ]]
then
LANG="km"
fi
if [[ $LANGNUM -eq 50 ]]
then
LANG="kn"
fi
if [[ $LANGNUM -eq 51 ]]
then
LANG="ko"
fi
if [[ $LANGNUM -eq 52 ]]
then
LANG="ku"
fi
if [[ $LANGNUM -eq 53 ]]
then
LANG="ku"
fi
if [[ $LANGNUM -eq 54 ]]
then
LANG="la"
fi
if [[ $LANGNUM -eq 55 ]]
then
LANG="lb"
fi
if [[ $LANGNUM -eq 56 ]]
then
LANG="lo"
fi
if [[ $LANGNUM -eq 57 ]]
then
LANG="lt"
fi
if [[ $LANGNUM -eq 58 ]]
then
LANG="lv"
fi
if [[ $LANGNUM -eq 59 ]]
then
LANG="mg"
fi
if [[ $LANGNUM -eq 60 ]]
then
LANG="mhr"
fi
if [[ $LANGNUM -eq 61 ]]
then
LANG="mi"
fi
if [[ $LANGNUM -eq 62 ]]
then
LANG="mk"
fi
if [[ $LANGNUM -eq 63 ]]
then
LANG="ml"
fi
if [[ $LANGNUM -eq 64 ]]
then
LANG="mn"
fi
if [[ $LANGNUM -eq 65 ]]
then
LANG="mr"
fi
if [[ $LANGNUM -eq 66 ]]
then
LANG="mrj"
fi
if [[ $LANGNUM -eq 67 ]]
then
LANG="ms"
fi
if [[ $LANGNUM -eq 68 ]]
then
LANG="mt"
fi
if [[ $LANGNUM -eq 69 ]]
then
LANG="mww"
fi
if [[ $LANGNUM -eq 70 ]]
then
LANG="my"
fi
if [[ $LANGNUM -eq 71 ]]
then
LANG="ne"
fi
if [[ $LANGNUM -eq 72 ]]
then
LANG="nl"
fi
if [[ $LANGNUM -eq 73 ]]
then
LANG="no"
fi
if [[ $LANGNUM -eq 74 ]]
then
LANG="ny"
fi
if [[ $LANGNUM -eq 75 ]]
then
LANG="otq"
fi
if [[ $LANGNUM -eq 76 ]]
then
LANG="pa"
fi
if [[ $LANGNUM -eq 77 ]]
then
LANG="pap"
fi
if [[ $LANGNUM -eq 78 ]]
then
LANG="pl"
fi
if [[ $LANGNUM -eq 79 ]]
then
LANG="ps"
fi
if [[ $LANGNUM -eq 80 ]]
then
LANG="pt"
fi
if [[ $LANGNUM -eq 81 ]]
then
LANG="ro"
fi
}
2番目の部分:
if [[ $CONTINUE -eq 2 ]]
then
exit
fi
cd ~/
echo "Please Enter Path To The File To Be Translated"
read IFILE
echo "Please Enter Name For Output"
read OFILE
rl
sudo trans :$LANG file://$IFILE > /root/TransHistory142.txt
while [[ $X -le 10 ]]
do
rl
sudo trans :$LANG file:///root/TransHistory142.txt > /root/TransHistory141.txt
rl
sudo trans :$LANG file:///root/TransHistory141.txt > /root/TransHistory142.txt
((X++))
done
sudo trans :en file:///root/TransHistory142.txt > /home/$OFILE
echo "Saved To /home/$OFILE "
答え1
質問で唯一関連した行はですsudo trans :en file:///root/TransHistory142.txt > /home/$OFILE
。スクリプトの実行がファイルの対応する行に達すると〜する作成され、その内容は〜するコマンドの標準出力に置き換えられました。 Bashはコマンドが実行される前にファイルを作成/空にするため、これがsudo
存在するのか、trans
有効なコマンドなのか、file:///root/TransHistory142.txt
存在するのか、コマンドが成功したのかは関係ありません。
答え2
>
演算子を使用してテキストファイルに書き込むようです。これにより、ファイル内の既存のデータが上書きされます。>>
を使用してファイルにデータを追加することもできます。