标签: bash-script

59
推荐指数
6
解决办法
11万
查看次数

变量作为命令;评估与 bash -c

我正在阅读某人制作的 bash 脚本,我注意到作者没有使用 eval 来评估变量作为命令
作者使用

bash -c "$1"
Run Code Online (Sandbox Code Playgroud)

代替

eval "$1"
Run Code Online (Sandbox Code Playgroud)

我认为使用 eval 是首选方法,无论如何它可能更快。真的吗?
两者之间有什么实际区别吗?两者之间有哪些显着差异?

bash shell-script bash-script

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

如何使用shell脚本获取IP地址?

想使用 Shell 脚本获取 IP 地址。在不知道 eth0 或 eth1 或 eth2 的情况下如何获得特定的 IP 地址。

我对获取 localhost 地址不感兴趣,想获取私有 IP 地址

shell bash ubuntu shell-script bash-script

45
推荐指数
3
解决办法
27万
查看次数

Linux 与 Mac OS 中的 Bash

我要买 iMac。我已经在 Linux 上工作了很长时间,我做了一堆 bash 脚本。我想知道 Mac OS 上是否可以使用所有 bash 命令和功能?任何人都对 Mac bash 脚本有任何经验?我感谢您的意见。

osx bash-script

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

是否有用于 Un*x 的任何众所周知且使用良好的 shell 脚本 IDE?

是否有针对 shell 脚本编写的 IDE,特别是 bash 和 zsh 脚本?这意味着对 shell 脚本进行语法高亮显示,更重要的是具有断点、变量检查和修改等功能的调试环境,就像 Python、Java 和 C 等常规编程语言可用的那样。

例如,Microsft Windows Powershell有像Powershell PlusPowerGui这样的 IDE 。

谷歌搜索提出了ShellEd(一个用于编辑 shell 脚本的 Eclipse 插件)和 BashEclipse(一个与 ShellEd 一起工作的 Bash 调试器)的组合;我还没试过。

是否有任何其他类似于此组合的 Un*x 的 shell 脚本 IDE?有没有人对他们有一些经验?

ide bash-script

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

如何在bash脚本中检测桌面环境?

我正在编写一个bash脚本,需要知道哪个桌面环境(XFCE、Unity、KDE、LXDE、Mate、Cinnamon、GNOME2、GNOME3...)正在运行。

我怎样才能获得这些信息?

bash desktop-environment bash-script

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

如何只删除文件,但保留目录结构?

我想删除每个文件,但保留文件夹结构。有办法吗?

注意:(我使用的是 GNU bash 4.1.5)。

bash bash-script

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

执行函数参数提供的命令

我正在尝试在 bash 脚本中创建一个函数方法,该脚本执行由参数提供给该方法的命令。

意思是这样的:

special_execute()
{
    # Some code

    # Here's the point where the command gets executed
    $@

    # More code
}

special_execute echo "abc"
Run Code Online (Sandbox Code Playgroud)

我已经尝试过我$@"$@"$*"$*"我怎么能这样做呢?

bash parameter function command bash-script

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

一个像其他语言一样接受参数的 bash 函数?

我有一个 bash 函数来设置$PATH这样的——

assign-path()
{
    str=$1
    # if the $PATH is empty, assign it directly.
    if [ -z $PATH ]; then
        PATH=$str;
    # if the $PATH does not contain the substring, append it with ':'.
    elif [[ $PATH != *$str* ]]; then
        PATH=$PATH:$str;
    fi
}
Run Code Online (Sandbox Code Playgroud)

但问题是,我必须为不同的变量编写不同的函数(例如,为$CLASSPATHlikeassign-classpath()等编写另一个函数)。我找不到将参数传递给 bash 函数的方法,以便我可以通过引用访问它。

如果我有类似的东西会更好 -

assign( bigstr, substr )
{
    if [ -z bigstr ]; then
        bigstr=substr;
    elif [[ bigstr != *str* ]]; then
        bigstr=bigstr:substr;
    fi
}
Run Code Online (Sandbox Code Playgroud)

任何想法,如何在 bash …

bash bash-script

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

如何从标准输出和管道中去除颜色代码到文件和标准输出

我有一个程序,使用printf一些tput在它混合,我想管道输出到stdout和文件。我更喜欢使用,sed因为我不希望对我的脚本有任何不必要的依赖。这是我到目前为止所得到的。

printf "\n$(tput setaf 6)| $(tput sgr0)$(tput setaf 7)Sourcing files...\033[m\n" | tee install.log

唯一的问题是我的日志文件正在获取所有颜色输出...

^[[36m| ^[(B^[[m^[[37mSourcing files...^[[m

我希望它只是有 | Sourcing files...

bash shell-script bash-script

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