分页: 1 / 1

[问题]一个命令行参数替换的问题。。

发表于 : 2007-06-21 18:20
iblicf
有个文件(a ),,只有一行,是个目录名字,比如mp3 ,,

代码: 全选

weiyh@MyPC:~$ cat a
mp3
怎么在命令行实现类似
weiyh@MyPC:~$ cd < 'cat a'
进入mp3 这个目录,?

发表于 : 2007-06-21 19:00
BigSnake.NET
cd "$(<a)"

发表于 : 2007-06-21 19:06
iblicf
well done ! 肯定还有别的方法。。。

发表于 : 2007-06-21 19:12
BigSnake.NET
cd "`<a`"
cd "`cat a`"
和等价的
cd "$(cat a)"

发表于 : 2007-06-21 19:17
iblicf
cd "`cat a`" 不行,只能引用? 能不能管道实现,“|”or "-"

发表于 : 2007-06-21 19:22
BigSnake.NET
iblicf 写了:cd "`cat a`" 不行,只能引用? 能不能管道实现,“|”or "-"
试过了..可以的
不能

发表于 : 2007-06-21 19:40
millenniumdark
奇怪的。
echo "mp3" | cd
也不行。

cd好特别哦。

发表于 : 2007-06-21 19:47
millenniumdark
BigSnake.NET 写了:cd "`<a`"
cd "`cat a`"
和等价的
cd "$(cat a)"
强的。cat出来的是text,但是"<file"的输出也不是string吗?

发表于 : 2007-06-21 19:49
iblicf
管道似乎讲不通,,应为是stdin/stdout :) cd `cat a` 是可以的,我当初试验的时候就是敲错了,
“ ’” 我也纳闷呢,

发表于 : 2007-06-21 20:14
BigSnake.NET
1.cd是内置命令
2.cd 接收的是命令行参数,不是stdin

发表于 : 2007-06-21 20:15
BigSnake.NET
millenniumdark 写了:
BigSnake.NET 写了:cd "`<a`"
cd "`cat a`"
和等价的
cd "$(cat a)"
强的。cat出来的是text,但是"<file"的输出也不是string吗?
cd "`<a`" 跟 cd "`cat a`" 是完全等价的,不过前者高效一些
双引号是防止空格用的