我正在设置BBS,但我不想添加irc访问权限。我正在使用此脚本来解析CHAIN文件。
#!/bin/bash
NODE=$1 #get the node number
USERNAME= sed -n 2p /mystic/temp$NODE/CHAIN.TXT #read the second line in the chain file.
irssi -n $USERNAME # start irssi
但它不起作用。
答案 0 :(得分:0)
尝试
USERNAME=`sed -n 2p /mystic/temp$NODE/CHAIN.TXT`
或
USERNAME=$(sed -n 2p /mystic/temp$NODE/CHAIN.TXT)
即。在反引号中包含你的命令。它实际上会告诉shell脚本执行该命令,而不是仅仅将字符串值赋给var USERNAME
答案 1 :(得分:0)
以下是一些建议:
#!/bin/bash
NODE=$1
USERNAME=$(sed -n 2p /mystic/temp$NODE/CHAIN.TXT) ## Use command substitution.
echo "Username: $USERNAME" ## Optionally show username for debugging purposes.
irssi -n "$USERNAME" ## Quote the variable to prevent word splitting and possible pathname expansion.
答案 2 :(得分:0)
您可以使用命令组内的read
一系列调用从单个源读取多行。
{ read; IFS= read -r USERNAME; } < /mystic/temp$NODE/CHAIN.txt
读取但忽略文件的第一行,然后读取整个第二行并将其存储在变量USERNAME
中。