linux 如何使用不同的参数多次运行一个命令?

0aydgbwb  于 2022-11-22  发布在  Linux
关注(0)|答案(5)|浏览(192)

是否可以使用不同的参数多次运行一个命令?
类似于:

sudo apt-get install asd && install qwe && remove ert && autoremove && autoclean
sf6xfgos

sf6xfgos1#

使用for循环:

for cmd in "install asd" "install qwe" "remove ert" "autoremove" "autoclean"; do sudo apt-get $cmd; done

xargs

echo -e "install asd\ninstall qwe\nremove ert\nautoremove\nautoclean" | xargs -I "#" sudo apt-get "#"
dtcbnfnu

dtcbnfnu2#

如果从命令行工作,则可以使用以下命令:运行command parameter1后,使用parameter2重复command,而不是键入:

^paramater1^parameter2

示例

我有两个文件:a1a2。让我们先计算ls -l

$ ls -l a1
-rw-r--r-- 1 me me 21 Apr 21 16:43 a1

现在,让我们对a2执行相同的操作:

$ ^a1^a2
ls -l a2                # bash indicates what is the command being executed
-rw-r--r-- 1 me me 13 Apr 21 16:43 a2

您可以在What is your single most favorite command-line trick using Bash?中找到更多类似的技巧。

xxe27gdn

xxe27gdn3#

这会循环一组参数并将它们应用于同一个命令。

for param in asd qwe ert; do install $param; done
jqjz2hbq

jqjz2hbq4#

不。不幸的是,贝壳无法读取你的思想。
你可以这样做:

alias sag="sudo apt-get"
sag install asd qwe && sag remove ert && sag autoremove && sag autoclean

尽管我不相信您真的想要&&;你可能会对;很满意

0md85ypi

0md85ypi5#

在最常见的情况下,如果您有一个集合或参数要循环,可以尝试

for first in one "two, with cinnamon" three; do
  for second in red yellow "odd color between brown and gray"; do
    for third in 0.1 0.5 1.0 2.0; do
        frobnicate --number "$first" --color "$second" --limit "$third"
    done
  done
done

或者也许

while read -r first second third; do
  frobnicate --number "$first" --color "$second" --limit "$third"
done <<____EOF
  sixty-five   mauve    0.1
  sixty-five   crimson  0.1
  fifty-eleven lilac    0.2
  fifty-eleven lilac    0.5
  17           black    1.0
  42           black    1.0
____EOF

相关问题