gue*_*586 6 bash bash-scripting
有没有办法在bash上通过管道传递参数?
就像是:
echo value1 value2 | mkdir -p ./$1/$2
Run Code Online (Sandbox Code Playgroud)
上面的行将创建目录 ./value1/value2
如果这是不可能的,我会接受建议。
任何帮助表示赞赏。
小智 6
怎么样
echo v1 v2 | awk '{print "./"$1"/"$2}' | xargs mkdir -p
Run Code Online (Sandbox Code Playgroud)
以下在 Ubuntu 中有效:
echo -e value1\\nvalue2|echo mkdir -p ./`line`/`line`
Run Code Online (Sandbox Code Playgroud)
我不能保证所有bash实现都会按从左到右的顺序读取行。
或者:
echo value1 value2|( read p1 p2; echo mkdir -p ./$p1/$p2 )
Run Code Online (Sandbox Code Playgroud)
这将适用于所有bash实现,但如果任一值包含任何空格,则需要详细说明。
(我曾经echo mkdir展示过效果。)