标签: shell-script

在后台启动 linux 进程

我正在尝试创建一个脚本来启动一些程序

启动文件

knetworkmanager
emesene
keepassx
Run Code Online (Sandbox Code Playgroud)

问题是当我运行脚本时,它只启动 knetworkmanager。这是因为它会启动它,然后等到它完成。如何在不等待的情况下启动程序?我不认为我可以在每个命令后添加“&”,因为脚本完成后所有进程仍将被终止。

linux shell-script

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

如何查找当前目录下的所有软链接(符号链接)?

问题与 .shell 脚本有关bash

如何使用脚本检查当前目录中的哪些文件是软链接?

如果我使用了错误的术语,当我说soft links 时,我指的是使用ln -s.

我唯一能想到的是ls -la作为一个表达式进行评估,并解析它的结果,但这显然不是最好的解决方案。

bash symbolic-link ls ln shell-script

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

如何直接从 shell 运行我的 python 程序?

我写了一个脚本。当它启动时,它不会停止,它会不断从 Internet 获取数据。我可以这样称呼它:

cd /User/Desktop/project/internetScanner/
python3 main.py start
Run Code Online (Sandbox Code Playgroud)

但我想直接从终端这样调用它,在目的地内:

internetScanner start
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

linux bash python shell-script

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

测试一个包是否安装在 APT 中

我想要一个 shell 脚本方法来测试/报告是否安装了软件包。我不需要细节,只需要布尔返回来设置逻辑流程。我查看了Find if a package is installed,但dpkg返回复杂的输出,其格式会根据软件包是在 Debian 存储库中还是在 Ubuntu PPA 中而发生变化。

我发现这apt-cache做得很好,我想出了这个方法:

is_installed=0
test_installed=( `apt-cache policy package-name | grep "Installed:" ` )
[ ! "${test_installed[1]}" == "(none)" ] && is_installed=1
Run Code Online (Sandbox Code Playgroud)

有谁知道更简单或更直接的方法?

package-management shell-script ubuntu apt

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

如何从应用程序关闭窗口,传递文件名?

我正在尝试生成一个基于 Applescript 的 shell 命令,该命令告诉 Mac OS X 中的预览应用程序关闭特定窗口。

#!/bin/sh

osascript <<EOF
tell application "Preview"
   close "$1"
end tell
EOF
Run Code Online (Sandbox Code Playgroud)

但这不起作用:我收到错误消息

25:52: execution error: Preview got an error: "musixdoc.pdf" doesn’t understand the close message. (-1708)
Run Code Online (Sandbox Code Playgroud)

相关问题:如何使用 .bash_profile 中定义的别名从命令行关闭 OS X 应用程序?

applescript shell-script macos

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

是否可以检查 -e 是否在 bash 脚本中设置?

如果 shell 函数需要特定的 -e/+e 设置才能工作,是否可以在本地设置该设置,然后在退出该函数之前将其恢复到以前的设置?

myfunction()
{
   # Query here if -e is set and remember in a variable?
   # Or push the settings to then pop at the end of the function?
   set +e
   dosomething
   doanotherthing
   # Restore -e/+e as appropriate, don't just do unconditional   set -e
}
Run Code Online (Sandbox Code Playgroud)

bash shell-script

10
推荐指数
2
解决办法
2705
查看次数

Bash 中 [[ ]] AND [ ] 或 (( )) AND ( ) 之间的区别

[[ condition ]]使用and[ condition ](( condition ))and有什么区别( condition )?在什么场景下我们需要使用这两者?

  • (( 10 > 9 ))有效但(( 10 -gt 9 ))无效
  • [[ 10 -gt 9 ]]有效但[[ 10 > 9 ]]无效

linux bash shell-script

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

如何从bash中删除名为“-p”的文件?

如何删除以-pbash命名的文件?尝试rm "-p"抱怨 -p 不是一个有效的论点。

linux file-management bash shell shell-script

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

自动重新连接交互式 SSH 会话

自动重新连接交互式 SSH 会话以在终端上重新建立 shell 的最佳方法是什么?我查看了 autossh,但这似乎专用于端口转发(我不需要)。

有没有任何 shell-fu 或实用程序允许这样做?

openssh shell-script events

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

如何从 bash 脚本中的列表连接字符串?

举个例子:

List="A B C D"
for I in $List
do
    OUT=$OUT" -$I"
done
Run Code Online (Sandbox Code Playgroud)

当我运行它时,结果是:

" -A -B -C -D"
Run Code Online (Sandbox Code Playgroud)

但希望它是:

"-A -B -C -D"
Run Code Online (Sandbox Code Playgroud)

如何在没有前导空格的情况下进行连接?

顺便说一句,这是脚本的参数列表。

script shell-script bash-scripting

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