./Myscript.sh "$(cat text.txt)"
Можно ли использовать вывод канала в качестве аргумента сценария оболочки?
25995
Narin
Предположим, у меня есть скрипт оболочки bash, Myscript.sh
который требует ввода одного аргумента.
Но я хочу, чтобы содержание текстового файла вызывало text.txt
этот аргумент.
Я пробовал это, но это не работает:
cat text.txt | ./Myscript.sh
Есть ли способ сделать это?
5 ответов на вопрос
- Популярные
- Новые
- С комментариями
- Активные
22
Ignacio Vazquez-Abrams
13
zzart
You can use pipe output as a shell script argument.
Try this method:
cat text.txt | xargs -I {} ./Myscript.sh {}
1
reinierpost
Если в файле более одной команды, рассмотрите возможность использования xargs или параллельного кода, например
xargs -d '\n' Myscript.sh < text.txt parallel -j4 Myscript.sh < text.txt
0
Ranjithkumar T
Try,
$ 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
so you can enter the values one by one to comli.sh
from comli.txt
.
0
al-ash
Процесс замены
./Myscript.sh <(cat text.txt)
См., Например, https://www.gnu.org/software/bash/manual/bash.html#Process-Substitution
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux
-
6
Полноэкранная медленная вспышка в KDE 4