Tag: 脚本

有一个路径列表,我如何过滤掉前面提到的路径的子目录?

假设我有一个绝对路径的排序列表,就像我在这里回答的那样(为这个问题缩短和修改): /proc /proc/sys/fs/binfmt_misc /proc/sys/fs/binfmt_misc /run /run/cgmanager/fs /run/hugepages/kvm /run/lock /run/user/1000 /run/user/1000/gvfs /tmp /home/bytecommander/ramdisk 我想要的是通过消除前面提到的路径的子目录的所有路径来减少此列表。 这意味着,对于给定的输入,我想要这个输出: /proc /run /tmp /home/bytecommander/ramdisk 如何使用例如Bash, sed , awk或任何其他常用工具在命令行中轻松完成此操作? 适合一行的简短解决方案是值得赞赏的,但不是必需的。

如何在启动计算机,文本编辑器或终端后自动显示文件中的文本?

每次我打开计算机电源时,我都希望看到我的任务列表,例如我桌面上的文件。 我怎么能这样做? 它可以在终端或开放文件中显示。

让Nautilus打开脚本作为终端窗口

在Mac OS X上,当您双击.sh文件时,会弹出一个终端窗口,运行该脚本并允许我与它进行交互。 在Ubuntu上,通过双击脚本,我立即看到它的效果:脚本运行。 只有这样,当我以这种方式启动时,不会打开命令行窗口。 当然,我可以从终端运行脚本,但是只有一个Scripts文件夹,在子文件夹中组织它们,双击脚本将它们作为终端窗口启动它会很酷。 请注意,我不愿意创建一个Launcher( .desktop文件),但我想全局应用它。

什么是第一个’。’ 意思是’。 在〜/ .bashrc’?

我看到一篇关于在.bashrc修复你的别名的post。 他说你把别名放在.bashrc ,你需要使用: . ~/.bashrc 我不太清楚第一个点(’。’)在这里做了什么。 它的function是什么?它叫什么?

从哪里开始编程

我是一名学生,我想研究所有这些终端的东西。 你们都将成为这个主题的专家。 我想知道你们在哪里开始,我必须做些什么才能成为linux编程或终端的专家。

如何从右键单击删除更改桌面背景?

我想限制用户更改壁纸和主题。 所以有人可以说我如何从右键单击删除更改桌面背景选项? 注意: 我只想完全从右键单击中删除该选项。

为什么在/etc/cron.hourly中放一个脚本不起作用?

我在/etc/cron.hourly放了一个可执行脚本,但是该脚本每小时都没有运行,实际上它根本就没有运行。 这是我制作的剧本(小时声音): #!/斌/庆典 mplayer~ / Music / sfx_msg-highlight.wv&> / dev / null& spd-say -r -50 -p 50 -t male3“现在的时间是$(日期+”%l%p“)” 现在通知发送“它是:”“$(日期+”%l%p“)。” -i~ / Pictures /“first tee.png”-t 5000 我的crontab是: DISPLAY=”:0.0″ XAUTHORITY=”/home/naruto/.Xauthority” XDG_RUNTIME_DIR=”/run/user/1000″ 0 * * * * /home/naruto/Hour-sound.sh 虽然mplayer和spd-say命令运行正常,但notify-send却没有。 我也尝试将错误重定向到文件: 0 * * * * /home/naruto/Hour-sound.sh 2>/tmp/error 但这显示没有输出。 我究竟做错了什么?

运行bash脚本后退出终端

我正在尝试使用gnome-open命令编写一个bash脚本来打开某些文件(主要是pdf文件)。 我还希望终端在打开pdf文件后退出。 我已经尝试将exit添加到我的脚本的末尾,但是没有关闭终端。 我确实尝试在线搜索我的问题的答案,但我找不到任何合适的答案,如果你们能提供帮助我真的很感激。 我需要一个只能杀死运行命令的终端的答案,不是所有的终端都可以吗? 我接受的上一个答案会杀死所有打开的终端窗口。 我直到今天才意识到这种情况。

打开多个终端选项卡和运行命令

我需要打开多个终端选项卡,给它们标题,转到目录,并使每个选项卡运行命令。 我是Linux和shell脚本的新手,在网上搜索并检查了一些解决方案之后,我制作了这个脚本(根据下面的答案编辑 ): #!/bin/bash cd /media/Extra/Project tab=” –tab-with-profile=Default” options=(–tab –title=Terminal) cmds[1]=”‘rails s'” titles[1]=”Server” cmds[2]=”‘rails c'” titles[2]=”Console” for i in 1 2; do options+=($tab –title=”${titles[i]}” -e “bash -c \”${cmds[i]} ; bash\”” ) done gnome-terminal “${options[@]}” exit 0 它会打开选​​项卡,命名它们,但无法执行生成此错误的命令: 为此终端创建子进程时出错 另一个缺点是,如果我暂停运行命令,它会关闭标签,这是我不想要的。 我需要能够停止命令并在同一个选项卡中再次运行它。 脚本有什么问题? 还有另一种更简单的方法吗? 注意:如果我从命令中删除了(-e“\”bash -c $ {cmds [i]}; bash \“”)部分,它将打开给定目录中的选项卡并命名它们,没有错误。 – 编辑-1: 在应用下面的@Tuknutx答案并编辑脚本后,错误不再出现了,但是它给了我bash: rails c: command […]

注销脚本:在关机,重启时未完成

我正在尝试在注销时做一些事情,这项任务最多可能需要5分钟才能完成。 如果用户选择直接Power off或Reboot ,脚本将在完成之前被终止。 如果用户只选择Log out ,则执行脚本没有问题。 我尝试使用pam_exec和lightdm属性session-cleanup-script指向我的脚本,但在两种情况下都是一样的。 用于进行测试的脚本是这样的: #!/bin/bash touch /tmpfile for p in $(seq 0 300) ; do sleep 1 echo $p >> /tmpfile done 注销时,所有300个数字都写入文件。 在用户会话中直接关闭或重新启动时,只会写入2或3个数字,因此脚本将被终止。 如何通过lightdm处理关机? 如何确保我的脚本没有被杀死? 如果您提出替代方法,请注意我需要知道哪些用户正在注销,并且能够以该用户身份运行脚本。 我还需要告知用户发生了什么,如果可能的话,最好留在X上。