【linux – 如何使用特殊字符传递参数来调用shell脚本】教程文章相关的互联网学习教程文章

linux-Shell脚本以从FTP下载最新文件【代码】

我是第一次编写Shell脚本,我想从FTP下载最新的创建文件.我想下载特定文件夹的最新文件.下面是我的代码.但是它正在下载该文件夹的所有文件,而不是最新的.ftp -in ftp.abc.com << SCRIPTEND user xyz xyz binary cd Rpts/ mget ls -t -r | tail -n 1 quit SCRIPTEND请帮我这个吗?解决方法:尝试改用wget或lftp实用程序,它比较文件时间/日期和AFAIR,其目的是ftp脚本.如果可能,请切换到ssh / rsync,您可以在此处阅读一些有关lftp而不是...

linux-是否可以在shell脚本中创建非子进程?【代码】

我在Github使用shell process pool API作为脚本,如下function foobar(){mytask($1);}job_pool_init 100 0tcpdump -i eth0 -w tempcap & #for i in `seq 1 4`;domesg="hello"$ijob_pool_run foobar $mesgsleep 5donejob_pool_waitpkill tcpdump #echo 'all finish'job_pool_shutdown如果我评论tcpdump行,然后按预期工作,但是当tcpdump行在那里时,job_pool_wait中有一条等待命令,该命令等待所有...

Linux-Shell脚本/命令将文件重命名为其crc32值?【代码】

我将如何使用unix shell重命名目录中的文件,以使其名称成为其crc32哈希并成为其原始扩展名? 例: 1-s2.0-105687199400063A-main.pdf => e3492cf3.pdf解决方法: for file in `ls`; do mv "${file}" `cksum "${file}" | cut -d' ' -f1`."${file##*.}"; done也许awk比削减是更好的方法

Linux-将Shell脚本/函数放在哪里? .bashrc或bin?

我正在学习Linux命令,并且了解到您可以编写一个Shell脚本并放入自定义目录(例如?/ bin /)中并导出到$PATH中,也可以将其编写为Shell函数并放入.bashrc文件中. 如果我要问的话,哪种是正确的情况或使用理由?哪个更推荐? 谢谢!解决方法:当您需要修改外壳环境的内容(例如ENV变量,提示符等)时,最好使其保留在.bashrc中.通常,我经常使用的功能之一是更改我的环境以使用/usr/local或/ opt等.更新$PATH,$LD_PATH,$PYTHON_PATH命令. 当您制...

linux-如何在一台机器上通过具有资源(.txt文件)的ssh在ssh上运行shell脚本?【代码】

我想使用SSH运行Shell脚本,该脚本从其他计算机获取资源,而该脚本位于其他计算机上,并且都在同一网络上.我不想将资源复制到本地计算机. 注意:Shell脚本将.txt文件作为输入解决方法:如果在server1上具有script.sh,在server2上具有file.txt,则可以通过ssh连接到server1,然后执行以下操作:[user@server1]$ssh user@server2 "cd mydir && cat file.txt" | ./script.sh

Linux-Bash Shell脚本根据年份和月份创建子目录【代码】

说明:列表/home/foo/dirlist.txt包含/ tmp / a .. / tmp / z 目标:创建子目录,例如/ tmp / a / 2014/04,/ tmp / b / 2014/04 … / tmp / z / 2014/04 错误:仅在文件只有一个目录(例如/ tmp / a)时创建子目录执行后,最终结果应为/ tmp / a / 2014/04.但是,当文件具有多个条目(例如/ tmp / a … / tmp / z)时,不会创建任何子目录* 我如何实现我的目标?在此先感谢您提供任何提示和指示.## /home/foo/dirlist.txt contains /tmp/a ...

linux-mv封装在if in shell脚本中【代码】

你怎么做到这一点?我在想的是这样..另外,我需要使用fi和done吗?或只有其中之一if[mv 1.txt > 2.txt == '0'] thenecho "Success" elseecho "Failure" fi done解决方法:在BASH中,仅满足以下条件:mv 1.txt 2.txt && echo "Success" || echo "Failure"但是,如果您想使用传统的if / fi,请使用if mv 1.txt 2.txt thenecho "Success" elseecho "Failure" fi

linux-要显示的Shell脚本-内存使用率,磁盘使用率和CPU负载?【代码】

我要按以下格式显示内存使用率,磁盘使用率和CPU负载:Memory Usage: 33/512MB (6%) Disk usage: 4.2/20GB (23%) CPU Load: 0.01所以我开始使用下面的脚本来做到这一点,但是以某种方式它给了我一个错误#!/bin/bashfree -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%)\n", $3,$2,$3*100/$2 }' df -h | awk '$NF=="/"{printf "Disk Usage: %d/%dGB (%s)\n", $3,$2,$5}' top -bn1 | grep load | awk '{printf "CPU Load:...

linux-在Shell脚本中将Cron Job设置为每月的第一个工作日【代码】

我是脚本语言的新手,谁能解释一下如何在第一工作日设置cron作业?解决方法:您可以使用以下内容,@monthly 每个月的第一天早晨每月运行一次.0 0 1 * * /home/scripts/your_script_file.sh第三编辑: 这将在每月的第一个工作日上午10点(早上)执行您的工作:# First weekday of the month# Monday - Friday 00 10 1-3 * * [ "$(date '+\%a')" == "Mon" ] && /home/scripts/your_script_file.sh 00 10 1 * * [ "$(date '+\%a')" == "...

linux-用于从串行通信写入和读取数据的Shell脚本【代码】

我正在制作一个简单的Shell脚本,以将数据写入和读取到串行设备.我在终端上使用这些命令,并且它们正确响应: 写我正在使用:echo -en '\xAA\x04\xC2' > /dev/ttyUSB0要阅读我正在使用阅读:cat -v < /dev/ttyUSB0但是当我将其包含在shell脚本中时,它没有响应.我需要有关此的帮助.我也想知道,当我发送写命令时,它应该以十六进制格式给我输出,但是它以这种格式给我输出M-* ^ NM- ^ H在这方面也需要帮助.解决方法:我希望您的cat语句阻止...

Linux-Shell脚本无需以sudo身份运行即可获得超级用户特权【代码】

这是我的脚本: script.sh:sudo cat /etc/passwd-如果我处于sudo会话中(例如,几分钟前我用sudo运行了另一个命令),现在运行script.sh该脚本将获得sudo访问.但是,如果我运行cat / etc / passwd- /,则会收到拒绝权限错误. 作为用户,我不希望script.sh能够这么简单地获得超级用户特权(例如,没有我通过sudo script.sh授予超级用户特权的访问权). 这是预期的行为吗?它是可配置的吗? 我认为该行为与sudo su完全相似,例如,可能使超级用户...

linux-仅当并行后台脚本成功完成时才运行shell脚本【代码】

我有4个bash脚本:script1.sh script2.sh script3.sh wrapper.sh我希望script1.sh和script2.sh在后台运行. script1.sh和script2.sh应该同时运行(即使script1.sh失败,script2.sh也应该运行),反之亦然.我希望仅在script1.sh和script2.sh成功完成后才能运行script3.sh. wrapper.sh脚本应运行所有3个脚本. 我该如何实现?解决方法:您可以这样使用warpper.sh:#!/bin/bash# execute script1.sh in background and save pid in $pid1 ./s...

Shell脚本可在Linux断电时停止应用程序

我在c中的爱迪生设备中编写了一个姿势检测代码.我已经在加电时成功调用了该应用程序.但是我需要一个shell脚本来在断电时关闭该应用程序. 我试过kill {pid}命令行操作.即使我取消了该命令,设备在掉电期间也需要额外的5分钟来停止该应用程序.我在这里想念什么吗..解决方法:您的应用程序应显式处理一些signal(7)-s,尤其是在关机时(由某些系统程序执行kill(2)发送)的SIGTERM. 发送SIGKILL(例如kill -9或kill -KILL)是不安全的(特别是对...

linux-使用Shell脚本删除30天以上的文件而不使用find【代码】

我一直在寻找答案. 我的托管环境不允许我使用find命令.有没有一种方法可以在目录中搜索所有30天以上的文件并删除/删除它们?任何阅读或示例将不胜感激. 提前致谢.解决方法:尝试这样的事情:touch -d 'now -30 days' reference_file for f in *; doif [ "$f" -ot reference_file ]; thenrm "$f"fi done还是黑名单上也有触摸?

将linux shell脚本命令转换为php【代码】

我面临的问题可能有一个简单的解决方案,但由于我不是php专家,所以找不到.我通常这样做是要从php调用shell命令:cmd = "convert file.pdf image.jpg"; shell_exec($cmd);但是,现在我有一个可以在shell上运行的命令,但我无法使其从php运行,所以我认为也许可以用php语言来表达相同的命令, 命令:for i in $(seq --format=%3.f 0 $nf); do echo doing OCR on page $i; tesseract '$imgdir/$imgdir-$i.ppm' '$imgdir-$i' -l eng; done我...