LoginSignup
3
3

More than 5 years have passed since last update.

Python in シェルスクリプトでワンライナーを見やすく改行&ワンライナー内でシェル変数展開

Last updated at Posted at 2018-04-19

環境

Python3.6.0
bash,sh:4.1.2

見やすく改行

minikui.sh
# 見難い
python -c "import pprint; print(pprint.__version);print(3+4)"

行末にセミコロンとスラッシュバックスラッシュを置くことで改行できるようになります

miyasui.sh
# 見やすい
python -c " \
import pprint;\
print(pprint.pprint(3+4));"

for文の場合,for文が始まる直前に完全な空行を挟むとワンラインで書けます

miyasui_for.sh
python -c "
x=3;\
print(x);\

for i in range(3): \
  print(i)"
miyasui_for2.sh
python -c "
x=3;\
print(x);\

for i in range(3): # ここはバックスラッシュが無くてもいい
  print(i)"
miyasui_for_dame.sh
python -c "
x=3;\
print(x);\# for文の前に空行がないのでダメ
for i in range(3): \
  print(i)"

変数展開

var_expansion_good.sh
HOGE=hoge123

python -c "print('${HOGE}')"

角かっこ→{}で囲まないとダメです
なくても大丈夫でした

var_expansion_bad_janakatta.sh
HOGE=hoge123

python -c "print('$HOGE')"
3
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3