Могу ли я использовать вывод pipe в качестве аргумента сценария оболочки?

Предположим, у меня есть сценарий оболочки bash под названием Myscript.sh которому нужен один аргумент в качестве входного.

Но я хочу, чтобы этот текстовый файл text.txt текстовый файл text.txt .

Я пробовал это, но он не работает:

 cat text.txt | ./Myscript.sh 

Есть ли способ сделать это?

Замена команд .

 ./Myscript.sh "$(cat text.txt)" 

Вы можете использовать вывод pipe в качестве аргумента сценария оболочки.

Попробуйте этот метод:

 cat text.txt | xargs -I {} ./Myscript.sh {} 

Если в файле имеется более одной команды, рассмотрите возможность использования xargs или parallel , например

 xargs -d '\n' Myscript.sh < text.txt parallel -j4 Myscript.sh < text.txt 

Пытаться,

  $ cat comli.txt date who screen wget $ cat comli.sh #!/bin/bash which $1 $ for i in `cat comli.txt` ; do ./comli.sh $i ; done 

Поэтому вы можете вводить значения один за другим в comli.sh из comli.txt .

  • Как добавить обычного пользователя в файл sudoers?
  • Доступ к файлам журналов Windows из linux
  • Как я могу отобразить список всех пакетов, установленных в моей системе Debian?
  • Untar, ungz, gz, tar - как вы помните все полезные опции?
  • Как вы отслеживаете, какие пакеты были установлены на Fedora (Linux)?
  • Как установить или обновить gnome v3.20.X в Kali Linux?
  • Почему мой SSH-вход медленный?
  • как я могу показать размер файлов в / proc? он не должен быть размером 0
  • Как я могу исправить уязвимость shellshock в устаревшей системе Ubuntu, которую я не могу обновить?
  • OpenSSH, экран FreeBSD перезаписывается при закрытии приложения
  • Что мне нужно для разделения раздела для Windows и Linux?
  • Давайте будем гением компьютера.