我正在尝试编写一个脚本,该脚本读取远程计算机的主机名,然后在以下命令中使用该结果.但是,变量似乎已损坏或其他.
这是一个正在发生的事情的例子:
sbaker@eye004:~/workspace/fire_trunk$ REMOTE_HOSTNAME="`ssh $REMOTE 'hostname'`"
sbaker@eye004:~/workspace/fire_trunk$ echo "before $REMOTE_HOSTNAME after"
Run Code Online (Sandbox Code Playgroud)
打印(注意前缀空格):
" after sbaker-PC"
sbaker@eye004:~/workspace/fire_trunk$ echo $REMOTE_HOSTNAME
Run Code Online (Sandbox Code Playgroud)
打印:
"sbaker-PC"
我想知道为什么变量似乎无法使用并且做了奇怪的事情(如果后面的单词比之前的单词长,它会写在字符的顶部).我希望打印第一个回声:"before sbaker-PC after".
我只是在做一些愚蠢的事吗?我在ubuntu 11上使用bash.
如果你通过它od -c你将看到它实际上正在返回sbaker-PC\r.最后的CR导致它在回显文本的其余部分之前将光标返回到第一列,模糊了"之前".至于它为什么添加\r,也许在另一侧给出主机名的文件用DOS行结尾(CRLF)而不是*nix行结尾(LF)保存.
| 归档时间: |
|
| 查看次数: |
168 次 |
| 最近记录: |