假设我有一个脚本script.sh,它需要一些时间来执行。我执行它,./script.sh。当它在终端窗口中运行时,我修改了文件script.sh. 这会对已经运行的进程产生任何影响吗?
修改后,我执行修改后的文件,所以我现在有两个正在运行的进程。这个可以吗?
可能的重复:
脚本如何检查它是否以 root 身份运行?
这是我一直很好奇的事情。我制作了很多小的 bash 脚本(.sh 文件)来完成我经常做的任务。其中一些任务需要以超级用户身份运行所有内容。我一直很好奇:是否有可能在运行所有内容之前在 BASH 脚本中检查脚本是否以超级用户身份运行,如果不是,则打印一条消息说You must be superuser to use this script,然后终止脚本本身。另一方面是我希望在用户是超级用户时运行脚本,而不是生成错误。
关于如何执行上述代码(if 语句等)的任何想法?
我怎样才能制作我的文件,以便我可以双击它,然后它就会运行。这是一个.sh脚本,但我也有文件说:
executable (application/x-executable)
在它们是什么的描述中。
我无法从终端或双击运行任何这些。
如果可能,我想要一种使用 GUI 或终端的方法,但不是两者的组合。
这是我右键单击然后继续属性时看到的屏幕截图。先上文件:

和这里的shell脚本:

注意:我接受这是重复的(我正在寻找它,但找不到,所以问+回答,希望我能找到它)但是,我不认为关于 .desktop 文件的问题是一个副本。
如果我将一个 shell 脚本放在 中/etc/cron.daily/,它将在一天中的什么时间执行?
如何让 Skype 使用默认的 Ubuntu notify-osd 来显示通知(传入消息、用户连接等)而不是 Skype 自己的“丑陋”消息框?
我想检查特定进程是否已经运行。
我参考了这个问答。
但我没有得到任何具体的解决方案。以下是我尝试过的示例:我创建了abc.sh文件并在后台运行此脚本,例如sh abc.sh &.
现在这个文件在后台运行,我启动ps aux | grep "abc"命令。
以下是此命令的输出:
prakash 3594 0.0 0.0 4388 820 pts/0 S+ 16:44 0:00 grep --color=auto abc
Run Code Online (Sandbox Code Playgroud)
之后,我停止abc.sh正在运行的脚本并启动相同的命令ps aux | grep "abc"命令。
但我得到相同的输出,如:
prakash 3594 0.0 0.0 4388 820 pts/0 S+ 16:44 0:00 grep --color=auto abc
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以找到进程是否正在运行?
我有一个紧急情况,Linux 和 Bash 初学者在这里尝试编写脚本来重命名一些文件时搞砸了。循环不小心走上了路径(在桌面的文件夹中运行脚本)并重命名/bin为/D_bin(D_是我添加的前缀)所以现在系统无法使用/bin内容,所以不bash,不mv重命名,不sudo......文件in/D_bin没问题,没有重命名,可以复制粘贴它们,但不能在/bin没有 bash 的情况下再次创建文件夹。系统看起来很稳定,但很少有东西可以工作并且无法访问桌面中的文件。
其他的/like文件夹/lib /sbin /etc好像也没问题,图形桌面还在。我害怕重启,因为我不知道它是否能够启动。
root 中是否有 shell 或重命名/D_bin回的方法/bin?需要帮助,非常重要的工作受到影响
我的自杀脚本 :$ :
#!/bin/bash
files=~/Desktop/folder_1/*
for j in $files
do
cd $j
for i in 10n* #file names starting by 10n
do
find * -maxdepth 0 ! -path . -exec mv {} D_{} \;
done
cd ..
done
Run Code Online (Sandbox Code Playgroud)
:( 谢谢!!!!
我是 Linux 和 Bash 脚本的新手。在工作中,我看到 Bash 脚本的结构与此类似:
mkdir build && cd build && touch blank.txt
Run Code Online (Sandbox Code Playgroud)
或者:
mkdir build; cd build; touch blank.txt
Run Code Online (Sandbox Code Playgroud)
甚至是异国情调:
COMMAND="mkdir build && cd build && touch blank.txt"
eval ${COMMAND}
Run Code Online (Sandbox Code Playgroud)
最后一个示例给出了一个可能的用例,其中一行可能有用,但通常以下内容更易于阅读并且(至少对我而言)允许您直观地调试脚本:
mkdir build
cd build
touch blank.txt
Run Code Online (Sandbox Code Playgroud)
在一条线上塞满所有东西是否有技术优势?
我希望cowsay在每个终端窗口中显示一条消息。我使用的命令是
fortune | cowsay
Run Code Online (Sandbox Code Playgroud)
有什么想法可以在我开始新的终端会话时让它出现吗?
我想.sh在注销和关闭 Ubuntu 时使用 bash运行一个文件。我在网上上下搜索,只找到了 KDE 和 GNOME 的修复程序。脚本很简单,我只需要知道是否可以将代码行添加到“注销/关闭”文件中,或者是否需要在另一个脚本中引用它。
scripts ×10
bash ×4
command-line ×4
cron ×1
cron-jobs ×1
executable ×1
filesystem ×1
fortune ×1
logout ×1
notify-osd ×1
process ×1
reboot ×1
shutdown ×1
skype ×1
sudo ×1
user-profile ×1