linux - Bagaimana untuk mengambil output fail json dengan bash sebagai input
怪我咯
怪我咯 2017-06-19 09:07:30
0
2
913

Pemula skrip, baru mengenali bash dan zsh, kini perlu menulis skrip untuk mengendalikan banyak akaun ujian dalam linux.

Gunakan arahanaws get-role....后,cmd中输出显示的是一个json文本,之后打算使用jq untuk menghuraikan salah satu nilai berdasarkan kunci Walau bagaimanapun, disebabkan bilangan akaun yang banyak diproses, teks json yang sepadan dengan akaun ini tidak boleh disimpan dalam bentuk fail untuk diproses ?

Logik anggaran adalah seperti berikut:
Matlamat utama adalah untuk mendapatkan nilai nama
name=$(cat (aws get-role....) | jq .Role.Name)但是我这么写的话系统会提示我zsh: number expected

Adakah sesuatu yang salah dengan kurungan saya? Mintalah jawapan kepada Tuhan.
Jika masalah kurung selesai, adakah cara penulisan ini terlalu panjang dan tidak cantik? Saya juga memohon sedikit tunjuk ajar daripada pihak tuan, saya amat bersyukur.

怪我咯
怪我咯

走同样的路,发现不同的人生

membalas semua(2)
迷茫

Cubalah:

name=$(aws get-role....| jq .Role.Name)
伊谢尔伦

cat命令后面跟的是文件名,操作是输出文件内容。然而aws get-role....输出到STDOUT的并非文件名而是一整个JSON字符串,所以觉得直接用name=$(aws get-role.... | jq .Role.Name)Itu sahaja.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan