相关疑难解决方法(0)

如何检查是否在Cygwin,Mac或Linux中运行?

我有一个shell脚本,可以在Windows/Cygwin,Mac和Linux上使用.每个版本需要稍微不同的变量.

shell/bash脚本如何检测它是在Cygwin,Mac或Linux上运行?

bash shell cygwin cross-platform

297
推荐指数
7
解决办法
13万
查看次数

'\ r':找不到命令 - .bashrc/.bash_profile

我有窗口,使用Cygwin,试图JAVA_HOME永久设置我的.bashrc文件.

.bashrc中:

export PATH="$JAVA_HOME/bin:$PATH"  
export JAVA_HOME=$JAVA_HOME:"/cygdrive/c/Program Files (x86)/Java/jdk1.7.0_05"
Run Code Online (Sandbox Code Playgroud)

.bash_profile文件:

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi
Run Code Online (Sandbox Code Playgroud)

运行cygwin:

-bash: $'\377\376if': command not found
-bash: $'then\r': command not found
: No such file or directorysu//.bashrc
-bash: /cygdrive/c/Users/jhsu//.bash_profile: line 3: syntax error near unexpected token `fi'
-bash: /cygdrive/c/Users/jhsu//.bash_profile: line 3: `fi'
Run Code Online (Sandbox Code Playgroud)

我不确定我是从一个专门针对另一个系统的教程中获取命令,还是我错过了一个步骤.或者空格导致我的命令无法正常运行.

我已经查看了多个类似的问题,但我没有找到一个问题确切存在我的错误.


我的家乡之路:

$ echo $HOME
/cygdrive/c/Users/jhsu
$ echo ~
/cygdrive/c/Users/jhsu/
Run Code Online (Sandbox Code Playgroud)

所以我认为文件应该放在正确的位置.

bash shell cygwin newline

265
推荐指数
12
解决办法
27万
查看次数

Bash语法错误:意外的文件结束

请原谅我这是Bash中一个非常简单的脚本.这是代码:

#!/bin/bash
# june 2011

if [ $# -lt 3 -o $# -gt 3 ]; then
   echo "Error... Usage: $0 host database username"
   exit 0
fi
Run Code Online (Sandbox Code Playgroud)

运行sh file.sh后:

语法错误:意外的文件结束

syntax bash

89
推荐指数
10
解决办法
18万
查看次数

标签 统计

bash ×3

cygwin ×2

shell ×2

cross-platform ×1

newline ×1

syntax ×1