shell脚本第一行不能有空格

作者&投稿:善闵 (若有异议请与网页底部的电邮联系)
~ 在shell脚本中如果有空格的处理如下:

sh test.sh "hello word"

echo $1 得到的是hello,而不是hello word.

正确的写法如下:

vi test.sh

#!/bin/bash
source /etc/profile
echo "$1"
echo "$2"
echo "$3"
exit 0
测试:

sh test.sh "hello word" "ni hao a" "how are you"

输出:

hello word

ni hao a

how are you

注意:

传递参数时要加上双引号,即是变量引用也要加上参数。 如: sh "ni hao " ; sh "$STR_WITH_SPACE"
脚本中取参数时也要用双引号: "$1",


一个bashshell脚本的第一行是
bin\/bash。Shell是一个命令行解释器,为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,其脚本需指定bin\/bash来作为第一行。Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。

shell脚本第一行为“#!\/bin\/sh”,是什么意思?
告诉操作系统,此脚本的解释器为\/bin\/sh这个可执行文件\\x0d\\x0a\\x0d\\x0a类似地,如果你的脚本用bash,ksh,解释,第一行就应该是\\x0d\\x0a#!\/bin\/bash\\x0d\\x0a#!\/bin\/ksh\\x0d\\x0a之类的\\x0d\\x0a\\x0d\\x0a或者,你自己定义一种脚本语言,再自己写个解释器去执行它,比如说叫xshell...

一个bashshell脚本的第一行是
bin\/bash。脚本的第一行为,需要表示正在使用的是bashshell,应该使用bin\/bash。脚本,汉语词语,意思是公牍或书稿的底本,表演戏剧,曲艺,摄制电影等所依据的本子。

adbshell脚本怎么只运行第一行
使用head命令来限制输出。如果要只运行adbshell脚本的第一行,可以使用head命令来限制输出,例如:adbshellscript.sh|head-n1,该命令会将脚本文件中的前1行输出,即只运行第一行脚本。有时候可能只需要测试某些脚本的特定功能,而不需要整个脚本都执行,可以只运行脚本文件中的第一行,从而大大节省了调试...

shell脚本:#!\/usr\/bin\/ksh是什么意思啊?哪位大神指教一下
Shell 脚本中的第一行 #! 后面是文件路径,是指示用哪个程序执行该脚本。Shell 有很多不同的版本,比如 bash、csh、sh等,路径根据情况填写实际路径 还可以是其他的程序,比如perl脚本第一行是:#!\/usr\/bin\/perl 【后面还可以有运行参数-w等】...

linux中shell脚本第一行怎么写
这个是我写的简单脚本 !\/bin\/bash su - oracle <<EON export ORACLE_SID=trade lsnrctl stop sqlplus \/nolog <<EOF conn \/ as sysdba shutdown immediate exit EOF 第一行后加 -x是显示输出的意思,整体是用root执行启动数据库启动监听 学习shell可以参考:http:\/\/c.biancheng.net\/cpp\/view\/...

linux shell编程脚本第一行为什么一定要用"#!\/bin\/sh",不写行不行?这...
!\/bin\/sh为指定你运行脚本的shell类型,是bash,ksh还是其它,一般系统有固定的shell,不定这行也能执行,只是为了规范写上的。还有比如你执行的是perl程序,就可以写#!\/bin\/perl.

linux运行一个可执行文件,出现line1:syntaxerror:unexpected"("的错 ...
在Linux中,遇到"line1:syntaxerror:unexpected("这样的错误,意味着你尝试运行的可执行文件存在语法问题。这个错误发生在脚本的第一行,意味着开发者在编写时可能漏掉了预期的语法结构或者输入了一个不被shell解析的符号"("。要解决这个问题,首先要仔细检查脚本的实际内容,尤其是出错的第一行。确保所有的...

shell却本第一行是LockName=$1
比如你那个shell脚本叫做 test.sh,执行它的时候,.\/test.sh a 这时候在脚本中的$1就等于a 因此可以看出,$1是读取命令行参数(ARGV)中的第一个参数,以此类推,$2就是第二个参数...还有$0是指当前运行的脚本名字

shell脚本第一行怎么写
!\/bin\/bash 或者 #!\/bin\/sh 如果用到awk ,sed 还需加入相应的路径

昌江区17569022682: Linux shell 赋值语句为什么不能有空格 -
冉印健脾: 因为这是shell的语法啊,等号的两边是不能直接接空格的,就连为变量赋值一个字符串,如果字符串中包含空格,都需要用双引号或者单引号括起来才行.就好像C语言语法规定语句要以;分号结束一样,这个不能有空格的规则就是由shell的语法规定的,写代码都是要遵循语法的.

昌江区17569022682: shell脚本参数可以有空格么 -
冉印健脾: 自己尝试了一番,终于找到真正解决办法.这个办法的优点是,可以同时传递多个带空格的参数.注意下文中有黑体的部分:主脚本test.sh:PROJECT_CLEAN=0 PROJECT_FILES="file1 file2"./build-project.sh $PROJECT_CLEAN "$PROJECT_FILES" 辅脚本build-project.sh:PARAM_CLEAN=$1 PARAM_FILES="$2" for file_name in $PARAM_FILES do echo $file_name done

昌江区17569022682: shell连接ftp的脚本 -
冉印健脾: 区别在于排版不同 你使用<< FTPINI时, 下面的行都要在定格写,即行开头不能有空格,直至结束,如 ftp -i -n $ip << FTPINI cd /pub ls FTPINI 而加了-后,下面的行可以加入tab排版,如 ftp -i -n $ip <<-FTPINI cd /pub ls FTPINI

昌江区17569022682: linux如何在终端里输入shell脚本 -
冉印健脾: 一般以#!/bin/sh开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆命令了. Linux的shell脚本支持很多功能,加上Linux高度模块化的命令,完全可以用shell脚本写出复杂的程...

昌江区17569022682: shell怎么删除文件的第一列和空格 -
冉印健脾: 删除第一列:方法1: awk '{$1=;print $0}' file >file2 方法2: sed -e 's/[^ ]* //' file >file2 删除空格:sed -i 's/ //g' file

昌江区17569022682: linux shell中,一行开头的 ! . 是什么意思? -
冉印健脾: ll程序呢? 简单的说shell程序就是一个包含若干行 shell或者linux命令的文件. 象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等. 在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整 的程序...

昌江区17569022682: shell 脚本命令太长,如何换行? -
冉印健脾: 行尾加\ 表示下一行和这一行是一个命令行,后面不能有注释、空格.

昌江区17569022682: shell在文件第一行后追加多个空格 -
冉印健脾: 你好!sed '1s/$/& /' 1.txt 如有疑问,请追问.

昌江区17569022682: 如何运行shell命令?第一行为什么是# !/bin/sh? -
冉印健脾: 因为shell程序是解释执行的,所以不需要编译装配成目标程序,按照shell编程的惯例,以bash为例,程序的第一行一般为 “# !/bin/bash”,其中# 表示该行是注释,叹号“!”告诉shell运行叹号之后的命令并用文件的其余部分作为输入,也就是...

昌江区17569022682: linux学习bash脚本的一些困惑 -
冉印健脾: shell变量赋值,等号两边不加空格.有了空格,shell解释器就会认为第一个字符串是shell命令(而实际上只是一个变量),后面的都是命令参数. shell测试表达式,等号两边加空格.因为test...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网