bash数组
有2种数组:索引数组关联数组(java里的Hashmap),用key关联value声明数组:#声明索引数组declare -a ary#声明关联数组declare -a ary引用数组:${ary[idx]}必须加大括号直接访问数组名,就是访问第一个元素[root@localhost ~]# ani[0]=dog[root@localhost ~]# ani[1]=cat[root@localhost ~]# echo aniani[root@localhost ~]# echo ani[0]...
2024-01-10bash是什么?
bashshell就是一个bash程序 --解释器,启动器 --解释器: 用户交互输入 如vim文本文件输入脚本本质:!/bin/bash!/usr/bin/python读取方式:bash/sh file当前shell: source file新建的shell : /bin/bash file 或者 ./file.sh (需要chmod +x file.sh)命令行中的命令都可以放到一个文件中!省得每次都得重...
2024-01-10bash双括号问题
我是bash脚本的新手,使用双括号时遇到问题。我似乎无法让它们在Ubuntu Server 11.10中完全正常工作。我下面的脚本在if_test.sh中。#!/bin/bashif [[ "14"=="14" ]]; then echo "FOO"fi当我运行此简单的shell脚本时,输出为:if_test.sh:5:[[:找不到从终端运行bash –version后,似乎正在运行GNU bash 4.2.10。任何帮助将...
2024-01-10bash命令行快捷键
目录光标移动命令历史操作命令文本修改剪切和粘贴文本其他操作在RHEL系列中,Bash中的快捷键是由readline库来提供,默认是emacs风格的键绑定。[root@node1 ~]# bind -l #列出所有的readline函数名称[root@node1 ~]# bind -P #列出当前的readline函数名和绑定使用set命令可以查看当前的模式[root@node1 ~]# set -o #查看...
2024-01-10bash,找不到命令
我在修复此bash脚本中的错误时遇到问题,我真的不知道我做错了什么,感谢您的任何帮助,谢谢[centoslive@livecd ~]$ sh ListFich.sh testSynthese, Question 2ListFich.sh: line 9: [-d: command not foundIl n'y a aucun repertoire qui se nomme testListFich.sh: line 15: [-f: command not foundIl n'y a aucun fich...
2024-01-10使用bash的统计图表
我刚开始学习这种编程语言,我需要一些帮助来使用我写的脚本中的信息来创建图表。基本上,脚本所做的是平均8.8.8.8,如果成功,它会使用UP和ping时间填充日志文件。我有一种情况,当用户使用选项“C”时,显示该小时成功的百分比,如果成功率为10%,则得到1“*”,如果20%,我得到2“**”使用b...
2024-01-10bash变量名使用变量
我想根据使用的环境动态获取数据库主机的值。bash变量名使用变量我有环境设置为:ENV=development DB_HOST_development=172.16.0.81 DB_HOST_production=172.17.0.81 ,我需要取决于其运行的环境得到适当的主机。类似这样的:echo $DB_HOST_$ENV 是否有可能让它工作?回答:DB_HOST=DB_HOST_$ENV echo ${!DB_HOST} ...
2024-01-10差异在bash和灰括号
我试图用比较目录列表一个diff命令,在bash工作正常:差异在bash和灰括号diff <(cd alpha ; find . -type f) <(cd beta; find . -type f) 然而,灰分在(嵌入式设备没有其他外壳可用)我得到-ash: syntax error: unexpected "(" 是否有关于读取输入操作<或括号()有什么区别?回答:请勿将<(…)中的尖括号与cat < file等重定...
2024-01-10从URL执行bash脚本
假设我在网址“ http://mywebsite.com/myscript.txt”处有一个包含脚本的文件:#!/bin/bashecho "Hello, world!"read -p "What is your name? " nameecho "Hello, ${name}!"而且我想先运行该脚本而不先将其保存到文件中。我该怎么做呢?现在,我已经看到了语法:bash < <(curl -s http://mywebsite.com/myscript.txt)但这似乎不像我保存到文...
2024-01-10在bash参数中保留引号
我正在制作一个bash脚本,该脚本将打印并将复杂的参数传递给另一个外部程序。./script -m root@hostname,root@hostname -o -q -- 'uptime ; uname -a'我该如何打印原始参数:-m root@hostname,root@hostname -o -q -- 'uptime ; uname -a'使用$@并$*删除uptime ; uname-a可能引起不良结果的单引号。我的脚本不需要解析每个参数。我只需...
2024-01-10Bash获取文件
示例提供文件的来源与执行不同,因为所有命令都是在当前bash会话的上下文中评估的-这意味着定义的任何变量,函数或别名将在整个会话中持续存在。创建您想要来源的文件 sourceme.sh#!/bin/bashexport A="hello_world"alias sayHi="echo Hi"sayHello() { echo Hello}在您的会话中,获取文件$ source sourceme.sh从第...
2024-01-10Bash简化数独
因此,我必须编写一个bash脚本来检查9x9的“sudoku”解决方案是否有效,但简化的是我不必将其划分为3x3,而只是检查行和列是否包含任何重复的数字,并且有效数字只有1-9 ..这就是我的想法,但无法正常工作: #!/bin/basherror="false"count=0#this would be for columns#for i in 1 2 3 4 5 6 7 8 9 #do#cat sudoku.txt | awk ...
2024-01-10将bash脚本添加到路径
我想在Linux PATH中添加一个小脚本,因此不必在实际放置在磁盘上的地方实际运行它。该脚本非常简单,它是关于通过代理赋予apt-get访问权限的,我使它像这样:#!/bin/basharray=( $@ )len=${#array[@]}_args=${array[@]:1:$len}sudo http_proxy="http://user:password@server:port" apt-get $_args然后,我将其保存为apt-proxy.sh,将其设...
2024-01-10创建文件时执行bash脚本
我正在寻找编写一个小的bash脚本,以便在启动时监视任何新创建文件的目录。如果出现新文件,我希望它的存在触发第二个脚本运行。我看到它被用来触发压缩最近数字化的视频,并将其添加到摄取素材的日志中。目前,我的代码如下所示:#!/bin/sh##VIDSTAT is a global variable coming from a parent script.##proj ...
2024-01-10仅在bash中存储错误消息
我是bash的初学者,所以如果这是一个基本问题或有语法问题,但我无法在任何地方找到答案,我表示歉意。我想运行一个命令,如果失败,请检查错误消息是否与某个字符串匹配。这是我有:仅在bash中存储错误消息err_msg=`./command input.txt 2>&1` if [$? -eq 1] then if [err_msg -eq "Error: timeout"] then #do...
2024-01-10Bash:写入文件
编写Bash脚本或在Linux命令行上工作时,最常见的任务之一是读写文件。本文介绍了如何使用重定向操作符和tee命令或者在bash脚本将文本写入文件。使用重定向操作符写入文件在Bash中,输出的重定向使您可以从命令捕获输出并将其写入文件。将输出重定向和写入文件的一般格式如下:output > filename output...
2024-01-10用bash对文件进行数字排序
我需要对.flv文件进行数字排序,并且能够使用以下命令执行此操作:ls *\.flv | sort --version-sort -f但是有很多文件(数百个),因此无法正确排序。ls *\.flv | sort --version-sort -f | tail -n 20e680.flve681.flve682.flve683.flve684.flve685.flve686.flve687.flve688.flve689.flve690.flve691.flve692.flve693.flve694.flv...
2024-01-10让bash脚本回答交互式提示
是否有可能让bash脚本自动处理通常会以默认操作呈现给用户的提示?目前,我正在使用bash脚本调用内部工具,该工具将向用户显示提示(提示输入Y /N)以完成操作,但是我编写的脚本必须完全“放手”,因此我需要一种发送Y|N到提示符的方法,以允许程序继续执行。这可能吗?回答:这不是“自动...
2024-01-10bash多行字符串缩进问题?
问题:怎么使字符串b输出时每行缩进4个空格?希望得到的效果:求教!回答:如果要求是除了第一行,都缩进,用sed很方便:a="test message:"b="a\nb\nc\nd\n"c="$a\n$b"printf "$c" | sed '1!s/^/ /'或者使用bash的参数替换功能,"\n"对bash来说,只是两个普通字符,在它后面加4个空格就是了:printf "${c//\\n/\n }...
2024-01-10从jsp页面执行bash脚本
我之前已经编写了一个执行Java类的bash脚本,它在运行该类之前会进行其他检查。运行时需要参数;./SyncIPs.cmd10.0.1.45并执行一些命令。我正在尝试使用html / javascript按钮在jsp页面中运行此脚本。到目前为止,我有两个jsp文件,如下所示:portal.jsp: <% if(request.getParameter("submitted")==null) { if(c...
2024-01-10对bash中文件名长度的限制
以下问题仅适用于bash和linux:文件的绝对路径名中的字符数是否有限制? 仅文件名(无扩展名)的字符数有限制吗? 如果是这样,这些限制是什么?如果它们是系统特定的,我该如何访问它们?回答:这在很大程度上取决于文件系统。对于ext FS(当前在Linux上最常用):文件名最大长度:255个字...
2024-01-10Bash原地替换文本
我有一些插入语句,我想通过替换值来替换另一个环境。我的SQL INSERT语句看起来如下: -Bash原地替换文本INSERT INTO TABLE (col1, col2, col3, col4, col5) VALUES ('1', '/var/tmp', 'xyz, mno, pqr', '123', '<dummy value>'); 我想将它转化成这样的,有没有空格柱之间的值(),它看起来像这样之间留有: -INSERT INTO TABLE (col1,col2,c...
2024-01-10Bash参数间接寻址
示例Bash间接允许获取名称包含在另一个变量中的变量的值。变量示例:$ red="the color red"$ green="the color green"$ color=red$ echo "${!color}"the color red$ color=green$ echo "${!color}"the color green一些其他示例演示间接扩展用法: $ foo=10 $ x=foo $ echo ${x} #Classic variable print foo $ foo...
2024-01-10bash:默默杀死后台功能进程
贝壳大师我有一个bash shell脚本,其中启动了一个后台功能,例如foo(),以显示一个无聊且冗长的命令的进度条:foo(){ while [ 1 ] do #massively cool progress bar display code sleep 1 done}foo &foo_pid=$!boring_and_long_commandkill $foo_pid >/dev/null 2>&1sleep 10现在,foo去世时,我看到以下文本:/hom...
2024-01-10执行bash脚本时如何显示行号
我使用的测试脚本包含很多命令,并且会生成大量输出,我使用set -x或set -v和set-e,所以脚本会在发生错误时停止。但是,我仍然很难定位执行停止在哪一行以定位问题。有没有一种方法可以在执行每行之前输出脚本的行号?还是输出命令产生之前的行号set-x?否则任何可以解决我的脚本行位置问题的...
2024-01-10