GNU/Linux >> Belajar Linux >  >> Linux

Wildcard Di Dalam Kutipan?

Ini akan mudah, tetapi dalam ingatan saya, ketika skrip shell, menggunakan tanda kutip ganda akan memungkinkan perluasan globbing dan variabel.

Tetapi pada kode berikut:

#!/bin/sh

echo *.sh
echo "*.sh"
echo '*.sh'

echo $LANG
echo "$LANG"
echo '$LANG'

Saya mendapatkan hasil ini:

bob.sh redeployJboss.sh
*.sh
*.sh
en_US.utf8
en_US.utf8
$LANG

Jadi kutipan tunggal mencegah glob DAN ekspansi variabel tetapi kutipan ganda hanya memungkinkan ekspansi variabel dan tidak ada globbing?

Bisakah saya menggulirkan pola kutipan apa pun?

Jawaban yang Diterima:

Anda benar:globbing tidak berfungsi baik dalam tanda kutip tunggal atau ganda. Namun, Anda dapat menginterpolasi globbing dengan string bertanda kutip ganda:

$ echo "hello world" *.sh "goodbye world"
hello world [list of files] goodbye world

Linux
  1. Mengapa The Tilde (~) Tidak Memperluas Di Dalam Kutipan Ganda?

  2. ${!foo} Dan Zsh?

  3. Ny Cara Mencetak Nilai Di Dalam Variabel Di Dalam Kutipan Tunggal?

  1. Kutipan Di Dalam Kutipan Balik Di Dalam Kutipan Di Ksh?

  2. echo:perintah tidak ditemukan

  3. Asal utas kworker

  1. Apa yang Digema $? Mengerjakan??

  2. Banyak file ._ di dalam tar

  3. Apa yang dimaksud dengan gema $? melakukan?