簡體   English   中英

如何使用重定向和管道制作bash命令字符串?

[英]How can I make a bash string of command with redirect and pipe?

我想用重定向和/或管道制作一個bash命令字符串,並用它來顯示命令字符串或執行命令字符串。 一個沒有重定向或管道的簡單命令有效,但是帶有重定向或管道的一串命令無效。 例如,

command="echo 1"
$command
echo "$command"

將顯示

1
echo 1

然而,

command="echo 1 | cat"
$command
echo "$command"

將顯示

1 | cat
echo 1 | cat

但我想要

1
echo 1 | cat

對於重定向,

command="echo 1 | cat > 1.out"
$command
echo "$command"

將顯示

1 | cat > 1.out
echo 1 | cat > 1.out

但我想要

echo 1 | cat > 1.out

帶有名為“ 1.out”的新文件,其中包含內容1。

有沒有辦法實現我想要的?

如果希望外殼程序將字符串作為命令求值,請告訴它這樣做:

eval "$command"
echo "$command"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM