为什么这个示例脚本会在令牌附近输出错误?(Why do this sample script, keep outputting error near token?)
在这里输入图像描述我试图看看shell脚本是如何工作的以及如何运行它们,所以我从一本名为“Wicked Cool Shell Scripts”的图书库中找到的一本书中提取了一些示例代码。
我逐字写了代码,但是我从Linux得到了一个错误,我在编译代码时说:
'd.sh:第3行:意外令牌附近的语法错误`{
'd.sh:第3行:`gmk(){
在此之前,我在换行符上有大括号,但我仍然得到:
'd.sh:第3行:意外令牌附近的语法错误
'd.sh:第3行:`gmk()
#!/bin/sh #format directory- outputs a formatted directory listing gmk() { #Give input in Kb, output converted to Kb, Mb, or Gb for best output format if [$1 -ge 1000000]; then echo "$(scriptbc -p 2 $1/1000000)Gb" elif [$1 - ge 1000]; then echo "$$(scriptbc -p 2 $1/1000)Mb" else echo "${1}Kb" fi } if [$# -gt 1] ; then echo "Usage: $0 [dirname]" >&2; exit 1 elif [$# -eq 1] ; then cd "$@" fi for file in * do if [-d "$file"] ; then size = $(ls "$file"|wc -l|sed 's/[^[:digit:]]//g') elif [$size -eq 1] ; then echo "$file ($size entry)|" else echo "$file ($size entries)|" fi else size ="$(ls -sk "$file" | awk '{print $1}')" echo "$file ($(gmk $size))|" fi done | \ sed 's/ /^^^/g' |\ xargs -n 2 |\ sed 's/\^\^\^/ /g' | \ awk -F\| '{ printf "%39s %-39s\n", $1, $2}' exit 0 if [$#-gt 1]; then echo "Usage :$0 [dirname]" >&2; exit 1 elif [$# -eq 1]; then cd "$@" fi for file in * do if [ -d "$file" ] ; then size =$(ls "$file" | wc -l | sed 's/[^[:digit:]]//g') if [ $size -eq 1 ] ; then echo "$file ($size entry)|" else echo "$file ($size entries)|" fi else size ="$(ls -sk "$file" | awk '{print $1}')" echo "$file ($(convert $size))|" fi done | \ sed 's/ /^^^/g' | \ xargs -n 2 | \ sed 's/\^\^\^/ /g' | \ awk -F\| '{ printf "%-39s %-39s\n", $1, $2 }' exit 0
enter image description hereI was trying to see how a shell scripts work and how to run them, so I toke some sample code from a book I picked up from the library called "Wicked Cool Shell Scripts"
I re wrote the code verbatim, but I'm getting an error from Linux, which I compiled the code on saying:
'd.sh: line 3: syntax error near unexpected token `{
'd.sh: line 3:`gmk() {
Before this I had the curly bracket on the newline but I was still getting :
'd.sh: line 3: syntax error near unexpected token
'd.sh: line 3:`gmk()
#!/bin/sh #format directory- outputs a formatted directory listing gmk() { #Give input in Kb, output converted to Kb, Mb, or Gb for best output format if [$1 -ge 1000000]; then echo "$(scriptbc -p 2 $1/1000000)Gb" elif [$1 - ge 1000]; then echo "$$(scriptbc -p 2 $1/1000)Mb" else echo "${1}Kb" fi } if [$# -gt 1] ; then echo "Usage: $0 [dirname]" >&2; exit 1 elif [$# -eq 1] ; then cd "$@" fi for file in * do if [-d "$file"] ; then size = $(ls "$file"|wc -l|sed 's/[^[:digit:]]//g') elif [$size -eq 1] ; then echo "$file ($size entry)|" else echo "$file ($size entries)|" fi else size ="$(ls -sk "$file" | awk '{print $1}')" echo "$file ($(gmk $size))|" fi done | \ sed 's/ /^^^/g' |\ xargs -n 2 |\ sed 's/\^\^\^/ /g' | \ awk -F\| '{ printf "%39s %-39s\n", $1, $2}' exit 0 if [$#-gt 1]; then echo "Usage :$0 [dirname]" >&2; exit 1 elif [$# -eq 1]; then cd "$@" fi for file in * do if [ -d "$file" ] ; then size =$(ls "$file" | wc -l | sed 's/[^[:digit:]]//g') if [ $size -eq 1 ] ; then echo "$file ($size entry)|" else echo "$file ($size entries)|" fi else size ="$(ls -sk "$file" | awk '{print $1}')" echo "$file ($(convert $size))|" fi done | \ sed 's/ /^^^/g' | \ xargs -n 2 | \ sed 's/\^\^\^/ /g' | \ awk -F\| '{ printf "%-39s %-39s\n", $1, $2 }' exit 0
原文:https://stackoverflow.com/questions/18051283
满意答案
如果要解析PHP,可以使用
token_get_all
来获取给定代码的标记 。If you want to parse PHP, you can use
token_get_all
to get the tokens of the given code.
相关问答
更多使用正则表达式PHP搜索字符串(Searching a String using Regular Expression PHP)
抓住重复 - PHP中的字母 - 正则表达式(Catch repeat - letter in PHP - Regular expressions)
PHP使用重叠正则表达式替换字符串(PHP replace string using overlapping regular expressions)
使用正则表达式从PHP中解析字符串中的函数(Using Regular Expressions to parse functions from a string in PHP)
需要一些正则表达式的帮助(php)(Need some help with regular expressions (php))
有没有比使用正则表达式更快地解析主题标签的方法?(Is there a faster way to parse hashtags than using Regular Expressions?)
PHP使用正则表达式将字符串解析为数组(PHP parsing string to array with regular expressions)
用正则表达式编写PHP查询解析器(Writing a PHP query parser with regular expressions)
如何使用PHP中的正则表达式在字符串中搜索可以按任何顺序排列的子字符串(How to search a string for substrings that can be in any order using regular expressions in PHP)
如何使用正则表达式解析此格式(ICAO飞行计划备注)?(How can I use regular expressions to parse this format (ICAO flight plan remarks)?)
相关文章
更多syntax error near unexpected token的解决办法
ACCESS TOKEN
The connection to adb is down, and a severe error has occured.
Script.NET Perl解释器代码已经在GitHub开源发布
微信开发第四篇:获取access_token
eclipse里报:An internal error occurred during:
微信公众平台接口开发-接入验证测试token
[Hadoop] Error: JAVA_HOME is not set
Force.com微信开发系列(四)申请Access Token及自定义菜单之创建菜单
微信开发者-主动请求-实际开发-(3)获取access_token(C#)
最新问答
更多python的访问器方法有哪些
使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
透明度错误IE11(Transparency bug IE11)
linux的基本操作命令。。。
响应navi重叠h1和nav上的h1链接不起作用(Responsive navi overlaps h1 and navi links on h1 isn't working)
在C中读取文件:“r”和“a +”标志的不同行为(Reading a File in C: different behavior for “r” and “a+” flags)
NFC提供什么样的带宽?(What Kind of Bandwidth does NFC Provide?)
元素上的盒子阴影行为(box-shadow behaviour on elements)
它看起来像只在Windows上的Chrome的错误。 我在Google Canary (Chrome 63)中也进行了测试,问题依然存在,所以有可能它不会很快修复。 这个问题是由overflow: auto引起的overflow: auto ,在你的情况下,它可以很容易地通过删除或设置为可见(默认)来解决。 但是 ,将鼠标悬停在右侧(顶部和底部)时,会出现滚动条。 一个解决方案可以设置overflow: hidden的身体,所以预期的结果是所需的。 我想指出,这不是一个很好的解决方案,但我建议暂
Laravel检查是否存在记录(Laravel Checking If a Record Exists)
这取决于您是否要以后与用户合作,或仅检查是否存在。 如果要使用用户对象(如果存在): $user = User::where('email', '=', Input::get('email'))->first(); if ($user === null) { // user doesn't exist } 如果你只想检查 if (User::where('email', '=', Input::get('email'))->count() > 0) { // user found
设置base64图像的大小javascript - angularjs(set size of a base64 image javascript - angularjs)
$scope.getData= function () { var reader = new FileReader(); reader.onload = $('input[type=file]')[0].files; var img = new Image(); img.src =(reader.onload[0].result); img.onload = function() { if(this.width > 640
Copyright ©2023
peixunduo.com All
Rights Reserved.粤ICP备14003112号
本站部分内容来源于互联网,仅供学习和参考使用,请莫用于商业用途。如有侵犯你的版权,请联系我们(neng862121861#163.com),本站将尽快处理。谢谢合作!
Laravel检查是否存在记录(Laravel Checking If a Record Exists)
设置base64图像的大小javascript - angularjs(set size of a base64 image javascript - angularjs)
Copyright ©2023 peixunduo.com All Rights Reserved.粤ICP备14003112号
本站部分内容来源于互联网,仅供学习和参考使用,请莫用于商业用途。如有侵犯你的版权,请联系我们(neng862121861#163.com),本站将尽快处理。谢谢合作!