首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >管道输入后bash读取stdin

管道输入后bash读取stdin
EN

Stack Overflow用户
提问于 2015-07-19 14:33:03
回答 2查看 371关注 0票数 1

我很难把管道的控制权拱手让给斯丁。我想把用户名和密码传递给一个程序,然后从stdin而不是管道中读取相同的程序!这就是我尝试过的:

代码语言:javascript
复制
alias pandora='echo -e "$(cat ~/.musik/name)\n$(cat ~/.musik/pass | base64 --decode)" | pianobar'

在我的.bashrc里。首先,它是用户名/密码文件,然后将其导入pianobar (终端中的潘多拉)。用户名和密码进入,然而,钢琴期待更多的输入。Pianobar要求一个数字(例如,12站),但是当我输入并点击enter时,什么都不会发生,因为出于某种原因,它并不期望它从那里来。

我怎样才能让管道“放弃”控制权?

注:我也尝试过

代码语言:javascript
复制
echo "$(cat ~/.musik/name)
$(cat ~/.musik/pass | base64 --decode) 
" >>> pianobar
EN

回答 2

Stack Overflow用户

发布于 2015-07-19 14:48:19

有两个选项您可以尝试:

简单的方法:(可能不适用于各种命令(如本例中的pianobar )。)

代码语言:javascript
复制
alias pandora='{ echo -e "$(cat ~/.musik/name)\n$(cat ~/.musik/pass | base64 --decode)"; cat; } | pianobar'

或者对UUOC进行一些清理和删除

代码语言:javascript
复制
alias pandora='{ cat ~/.musik/name; base64 --decode < ~/.musik/pass; cat; } | pianobar'

更好的方法:使用expect脚本。我本可以编写脚本,但我不知道应用程序提供的登录提示。

票数 1
EN

Stack Overflow用户

发布于 2017-07-07 15:38:04

这是配置pianobar自动登录的正确方法:

代码语言:javascript
复制
    mkdir ~/.config/pianobar/ && cd ~/.config/pianobar/ && touch config

在命令行中运行^,然后将以下内容放入新的配置文件

代码语言:javascript
复制
    # User
    user = (Your Pandora email)
    password = (Your Pandora password)

https://github.com/PromyLOPh/pianobar/blob/e945578ab22912049f1e547ce7b25b01089f7590/contrib/config-example

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31502297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档