相关疑难解决方法(0)

'\ 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 -x选项,它将显示所有行.但脚本将执行正常.

我该如何逐行执行?我可以看到它是否做了正确的事情,或者我中止并修复了这个bug.read每一行都有相同的效果.

bash

80
推荐指数
2
解决办法
7万
查看次数

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

在以下脚本中,我收到一个错误:

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

这个错误是什么我可以恢复它?它指向调用函数的行.

#!/bin/sh

expected_diskusage="264"
expected_dbconn="25"
expected_httpdconn="20"
expected_cpuusage="95"
#expected_fd="100"

httpdconn=`ps -ef|grep -i httpd|grep -v grep|wc -l` #httpd connections
cpu_usage=`ps aux|awk 'NR > 0 { s +=$3 }; END {print s}'`
disk_usage=`df -h|awk {'print $2'}|head -n3|awk 'NF{s=$0}END{print s}'`
#db_connections=`mysql -uroot -pexxxxxx -s -N -e "show processlist"|wc -l`

db_connections=6
cld_alert()
{
    nwconn=$1
    cpu_usage=$2
    disk_usage=$3
    db_connections=$4
    message=$5
    `touch /tmp/alert.txt && > /tmp/alert.txt`
    date=`date`
    echo -e "$date\n" > /tmp/alert.txt
    echo -e "$message" >> /tmp/alert.txt
    path="/proc/$httpd/fd/";
    cd $path
    tfd=`ls -l|wc -l`;
    sfd=`ls -ltr|grep sock|wc -l`; …
Run Code Online (Sandbox Code Playgroud)

shell sh

43
推荐指数
6
解决办法
26万
查看次数

Bash:forfile中的循环:意外的文件结尾

我正在编写一个Makefile,它将列出a.cpp,b.cpp和ch文件包含的所有头文件.但是,我得到了意外EOF的错误.类似的问题总是由行终止符引起,就像他们在EOL中使用CRLF而不是LF.但是,我的文本编辑器设置为使用LF,我通过删除所有EOL重新检查并重新添加.不幸的是,错误仍然存​​在.以下是代码:

#!/bin/bash

list-header:
    for file in a.cpp b.cpp b.h
    do
        echo "$file includes headers: "
        grep -E '^#include' $file | cut -f2
    done
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

for file in "Bigram.cpp client.cpp Bigram.h"
/bin/sh: -c: line 1: syntax error: unexpected end of file"
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

bash makefile

9
推荐指数
1
解决办法
5978
查看次数

语法错误:bash脚本中出现"fi"意外(期望"然后")

我尝试做脚本:

#!/bin/bash
IP='192.168.1.1'
fping -c1 -t300 $IP 2>/dev/null 1>/dev/null
if [ "$?" = 0 ]
then
    echo "Host found"
else
    echo "Host not found"
fi
Run Code Online (Sandbox Code Playgroud)

我把它转过来:

pi@raspberrypi ~ $ sh /home/pi/sh/test.sh

/home/pi/sh/test.sh: 9: /home/pi/sh/test.sh: Syntax error: "fi" unexpected (expecting "then")
Run Code Online (Sandbox Code Playgroud)

问题出在哪儿?

bash scripting command-line sh

6
推荐指数
2
解决办法
9182
查看次数

在bash脚本中意外的"语法错误:文件的意外结束"在if语句上

W/hen我运行以下代码片段

#!/bin/bash
if [ "foo" = "foo" ];
then
echo "true"
else
echo "false"
fi
echo "end"
Run Code Online (Sandbox Code Playgroud)

我明白了

sfm_write_buffer_test.sh: line 9: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)

这没有任何意义.echo语句工作正常,但遇到if语句时会出现上述错误.

linux bash if-statement syntax-error unexpectendoffile

5
推荐指数
2
解决办法
1万
查看次数

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

我收到意外的文件错误结束.我不确定如何解决它.

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions

export PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[1;32m\]\$\[\e[m\] \[\e[1;37m\]'

export LS_COLORS='di=35;1'


alias la='ls -lah'
alias cdu='cd /home/hzhang/primary'

#module load gnu-compilers/4.7.0
#module load mvapich3/gnu/1.7

.ls /opt/intel/Compiler/11.1/072/bin/ifortvars.sh intel64

#PATH=$PATH:/home/hzhang/primary/over2.2e/bin_dp:/home/hzhang/primary/foiltest
PATH=$PATH:/opt/overflow/intel/serial/bin_dp/:/home/hzhang/primary/chimera2.1/bin_dp/:/u/primary/hzhang/pegasus/bin_dp
export PATH

ulimit -s unlimited 
Run Code Online (Sandbox Code Playgroud)

linux bash

5
推荐指数
4
解决办法
2万
查看次数

perl中的系统命令

我需要运行一个系统命令,该命令将转到目录并删除不包含文件的子目录(如果存在).我编写了以下命令来执行此操作:

system("cd /home/faizan/test/cache ; for i in *\; do if [ -d \"$i\" ]\; then echo \$i fi done");
Run Code Online (Sandbox Code Playgroud)

上面的命令不断引发语法错误.我尝试了多种组合,但仍然不清楚这应该如何.请建议.

bash perl

1
推荐指数
1
解决办法
3551
查看次数