标签: scripts

我无法在子 shell 上设置 ulimit

我有一个 bash 脚本。该 bash 脚本需要每 5 分钟运行一次,因此我创建了以下代码块:

#!/bin/bash
ulimit -n 600000
ulimit -u 600000
echo -e "This is another bash script to run mybashscript.sh"

# Lets create mycronscript.sh
echo "#!/bin/bash
ulimit -n 600000
ulimit -u 600000
while true; do
sleep 300
bash mybashscript.sh
done" >> mycronscript.sh
bash mycronscript.sh&
Run Code Online (Sandbox Code Playgroud)

每当它在 5 分钟后自行运行时,mybashscript.sh 就无法正常运行,因为未应用 ulimit 设置。我该如何修复它?

command-line bash scripts ulimit resource-limiting

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

如何向 bashrc 添加别名并使用 sudo 加载内容?

我需要使用 运行我的脚本sudo,因为它包含使用 apt 安装程序的命令。所以我这样做:

sudo ./myscript.sh
Run Code Online (Sandbox Code Playgroud)

内容:

#!/bin/bash

# add alias .bashrc (work)
echo "alias myupgrade='sudo aptitude -y safe-upgrade && sudo updatedb'" | sudo tee -a /home/my_user/.bashrc > /dev/null
# or
# sudo -u my_user bash -c "echo alias myupgrade=\"'sudo aptitude -y safe-upgrade && sudo updatedb'\"" >> ~/.bashrc

# load changes (doesn't work)
sudo -u my_user bash -c "source /home/my_user/.bashrc"

# rest of script (not relevant for the question). e.g:
apt -y install foo bar etc
Run Code Online (Sandbox Code Playgroud)

我的脚本将别名添加到 bashrc …

command-line bash scripts alias bashrc

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

如何编写 Shell 脚本将文件从 FTP 服务器移动到网络共享驱动器

我有客户将大量数据上传到我的 FTP 服务器(Ubuntu 9.10 机器)。文件上传后,我面临着将它们传输到本地 Droboshare 网络驱动器的问题,以便我们的技术支持人员可以检索它们并分析问题。

挂载网络共享后,/media/<sharename>我手动运行此命令以获取这些文件:

sudo mv /home/ftp/<data_dir>/<file_name> /media/<network_share>/<ftp_user_data>

但这需要永远,如果有数十或数百个文件,我实际上无法一遍又一遍地这样做。我认为拥有一个可以定期运行的脚本将一组这些文件传输到网络共享会很好。我可以在技术支持人员使用它们时对它们进行分类。

我仍然是 Linux 和编写 shell 脚本的新手。无论如何要轻松做到这一点?只是在这里添加说明,这些文件可以是ZIP 文件FASTA 文件TAR.GZ 文件和/或TXT 文件。此外,如果 ZIP 文件很大,某些压缩程序会将它们转换为ZIP.001ZIP.002ZIP.003等...因此该 FTP 目录中的文件类型可能会非常多样。

我在想识别这些文件的方法是简单地传输目录中的所有文件(尽管这可能需要一段时间),或者根据完成的时间或类似的东西在某种程度上指定这些文件的一个子集。

我乐于接受各种想法。提前致谢。

command-line ftp scripts networking

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

通过打开 shell 脚本避免对话?

当我有一个可执行脚本并通过在 Gnome 中双击它来运行它时。

它会打开一个对话框,询问您打算做什么:

  • 在终端执行
  • 看法
  • 取消
  • 执行

对于某些选定的脚本,有没有办法避免这个问题?

替代文字

command-line scripts

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

-le bash 脚本中的比较问题

我在 Ubuntu 11.10 下,当我在 bash 中执行这个程序时,出现以下错误:

exec.bash: line 25: [: 0.1: integer expected as an expression
Run Code Online (Sandbox Code Playgroud)

第 25 行是:

while [ $p -le 1.0 ]
Run Code Online (Sandbox Code Playgroud)

在以下上下文中

p=0.1

while [ $p -le 1.0 ]
do
    echo ----probability---- $p
    java $jvmargs -classpath $CP jbenchmarker.MainSimulation $p
    (( p= $p + 0.1 ))
done
Run Code Online (Sandbox Code Playgroud)

问题出在哪儿?

bash scripts

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

使用 shell 脚本启动多个应用程序

当我.sh在终端中执行 a文件时,我需要打开 Thunderbird、pidgin 和 firefox 。

目前我只是在下面一个接一个地添加这些应用程序名称,当执行文件时它只打开第一个应用程序,当我关闭第一个应用程序时它会像这样打开第二个应用程序。实际上我需要在不关闭其他应用程序的情况下打开这 3 个应用程序。

startup scripts batch

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

为什么在 Ubuntu 12.10 的桌面上单击鼠标右键不显示“脚本”选项?如何让它出现?

当您右键单击 Linux 桌面时,会出现一个菜单,其中包含“新建文件夹”、“更改桌面背景”、“粘贴”、“脚本”等条目。但在 Ubuntu 12.10 中全新安装时,“脚本”选项未显示。我怀疑这与更新的“Nautilus 文件管理器”软件有关。是否可以打开脚本选项,以便我可以通过单击执行脚本?谢谢 ...

nautilus scripts

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

登录后自动运行脚本

可能重复:
如何在登录时自动启动应用程序?

我想在登录后自动运行脚本。请有人告诉我该怎么做。我尝试将脚本的路径放入 .bashrc 中,但没有用。

scripts automatic

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

sudo bash 无法执行脚本

我尝试运行一个 shell 脚本文件,但到目前为止在 Ubuntu 上失败了。

在我的终端中:

~/Desktop/FTL/data$ ls
amd64  exe_icon.bmp  FTL  licenses  resources  x86
~/Desktop/FTL/data$ sudo bash ./FTL.sh
[sudo] password for anon: 
bash: ./FTL.sh: No such file or directory
~/Desktop/FTL/data$ sh FTL.sh
sh: 0: Can't open FTL.sh
~/Desktop/FTL/data$ 
Run Code Online (Sandbox Code Playgroud)

command-line bash scripts

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

如何从文本文件中按字母顺序排列多行记录?

嗨,我正在使用 bash 脚本,下面有 example.txt。如何按餐厅名称将以下4个餐厅信息按字母顺序排列并打印出来?请注意,按字母顺序打印时的格式应与以下相同,包括城市、州、地址、电话。

Restaurant: McDonalds 
City: Miami
State: Florida
Address: 123 Biscayne Blvd
Phone: 91341

Restaurant: Five guys
City: Atlanta
State: Georgia
Address: 123 Peachtree Rd
Phone: 9234211

Restaurant: KFC
City: NYC
State: NY
Address: 123 Madison Square
Phone: 95311

Restaurant: Taco Bell
City: LA
State: CA
Address: 123 Rodeo Drive
Phone: 911
Run Code Online (Sandbox Code Playgroud)

bash scripts

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