GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana menyebutkan wildcard dalam perintah yang memungkinkan

Menggunakan kemungkinan pada baris perintah untuk menjalankan perintah ad hoc, wildcard sangat berguna, mis. untuk melihat apakah file ada di semua sistem.

Saya juga kesulitan melakukan:$ ansible production -a "ls /mypath/*xxx*"

Tapi membungkusnya dengan bash -c '...' berfungsi:$ ansible production -a "bash -c 'ls /mypath/*xxx*'"


Tugas yang ditentukan seperti ini akan membantu:

- name: Move internal directories and files
  command: bash -c 'mv /tmp/parent-dir/*  /opt/destination/'

Seperti yang ditulis Larsks, kuncinya adalah menggunakan register , tetapi kode tersebut tidak berfungsi pada versi saya yang memungkinkan saat ini. Jadi ini yang dikoreksi:

- shell: ls -d solr*
  register: dir_name

- command: chdir={{ item }} some_command
  with_items: dir_name.stdout_lines

Tidak. chdir= ke, misalnya, command modul tidak mendukung karakter pengganti.

Anda dapat mencapai apa yang Anda inginkan dengan menggunakan variabel register untuk menyimpan keluaran dari ls perintah:

- shell: ls -d solr*
  register: dir_name
- command: some_command
  args:
    chdir: "{{ dir_name.stdout }}"

Tapi ini, sejujurnya, solusi yang buruk. Anda lebih baik menggunakan nama direktori yang sebenarnya. Jika berbeda pada host yang berbeda, Anda dapat menggunakan variabel host untuk menyetelnya dengan tepat.


Linux
  1. Cara merusak sistem Anda:Perintah Linux yang Berbahaya

  2. 5 Contoh Modem At Command di Linux (Cara Konfigurasi Minicom)

  3. Cara membatasi perintah pengguna di Linux

  1. Bagaimana cara menyimpan output perintah ke dalam array di Ansible?

  2. Bagaimana cara menghindari perintah dalam alias bashrc?

  3. Bagaimana saya bisa merekam perintah Linux?

  1. Cara menggunakan Perintah Su di Linux

  2. Bagaimana Wildcard * Diinterpretasikan Sebagai Perintah?

  3. A sampai Z Perintah Linux