Cygwin bash 连接变量结果为 $'VALUE1/VALUE2\r'
Cygwin bash concatenate variables results in $'VALUE1/VALUE2\r'
我正在 bash 使用 CYGWIN 创建脚本。
这基本上就是我所拥有的:
#!/bin/bash
username=someuser
passwd=someuserpasswd
hostname=thehost
port=1521
sid=dbname
当我连接变量时,如
LOGIN_STR=${username}/${passwd}@${hostname}:${port}/${sid}
echo "Login String = $LOGIN_STR"
结果是:
Login String = $'someuser/someuserpasswd\r@thehost:1521/dbname\r'
要登录sqlplus,显然这不行。
我也试过LOGIN_STR=$username/$passwd@$hostname:$port/$sid
..结果一样。
我知道这可能与 Windows 处理回车 returns 与 Unix 的方式有关。我不清楚我需要做些什么才能让这种情况不再发生。
提前致谢!
请务必在您的 .bash_profile 或同等文件中执行此操作:
export SHELLOPTS
set -o igncr
这将解决 Cygwin 内部的这些类型的运输问题-return。
我正在 bash 使用 CYGWIN 创建脚本。
这基本上就是我所拥有的:
#!/bin/bash
username=someuser
passwd=someuserpasswd
hostname=thehost
port=1521
sid=dbname
当我连接变量时,如
LOGIN_STR=${username}/${passwd}@${hostname}:${port}/${sid}
echo "Login String = $LOGIN_STR"
结果是:
Login String = $'someuser/someuserpasswd\r@thehost:1521/dbname\r'
要登录sqlplus,显然这不行。
我也试过LOGIN_STR=$username/$passwd@$hostname:$port/$sid
..结果一样。
我知道这可能与 Windows 处理回车 returns 与 Unix 的方式有关。我不清楚我需要做些什么才能让这种情况不再发生。
提前致谢!
请务必在您的 .bash_profile 或同等文件中执行此操作:
export SHELLOPTS
set -o igncr
这将解决 Cygwin 内部的这些类型的运输问题-return。