相关疑难解决方法(0)

Shell脚本输入重定向奇怪

谁能解释这种行为?运行:

#!/bin/sh
echo "hello world" | read var1 var2
echo $var1
echo $var2
Run Code Online (Sandbox Code Playgroud)

导致没有任何输出,而:

#!/bin/sh
echo "hello world" > test.file
read var1 var2 < test.file
echo $var1
echo $var2
Run Code Online (Sandbox Code Playgroud)

产生预期的输出:

hello
world
Run Code Online (Sandbox Code Playgroud)

管道不应该在一步中完成第二个例子中test.file的重定向吗?我用破折号和bash shell尝试了相同的代码,并从两者中获得了相同的行为.

linux bash shell ksh dash-shell

18
推荐指数
8
解决办法
5361
查看次数

bash vs csh vs others - 哪个更适合应用程序维护?

可能重复:
我应该使用什么Linux shell?

我开始熟练掌握Linux环境,并且我试图在命令shell脚本(因为我仍然是一个很大的n00b)方面选择一个可供选择的武器,这将帮助我(和其他人)管理,测试并管理在*NIX环境中运行的一组服务器端应用程序.

我的问题是:当考虑以下标准时,那里的首选命令shell是什么:

  1. 对于从未接触过shell脚本的初级开发者来说,学习/理解有多容易?

  2. 是否有大量开发人员知道这个shell脚本?

  3. 它是否安全且易于使用 - 脚本错误是静音还是提供智能错误输出,它是否会让那些不知情的人在脚下自我射击?

  4. 它有多便携? - 我可以期望在OpenSolaris以及Redhat,FreeBSD中运行相同的脚本吗?(授予特定操作系统的命令语法和选项将相应更改)

  5. 它有多标准?它是否应该包含在*NIX的大多数发行版中,还是必须另外安装?

我知道有些营地对特定的命令炮弹持强烈的感情,我只是在寻找知情的意见.

linux bash csh zsh tcsh

14
推荐指数
3
解决办法
6万
查看次数

标签 统计

bash ×2

linux ×2

csh ×1

dash-shell ×1

ksh ×1

shell ×1

tcsh ×1

zsh ×1