标签: bash

输出文件时如何替换环境变量?

我想以某种方式吐出一个文件(其中包含 env 变量引用)并替换实际值。这是我尝试过的,但正如您所看到的,它不起作用。有任何想法吗?

-bash-3.00$ cat vars_file 
${MY_VAR}
-bash-3.00$ export MY_VAR=MY_VALUE; cat ./vars_file | xargs echo
${MY_VAR}
Run Code Online (Sandbox Code Playgroud)

bash environment-variables

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

OSX“打开方式”bash脚本

我有一个 bash 脚本,实际上可能有很多脚本,我希望能够在 OSX 的查找器中打开文件。

这是一个非常非常简单的概念,但由于某种原因,bash 脚本在查找器的“打开方式”对话框中显示为灰色。

我认为有多种方法可以使用 applescript 或打包作为应用程序......但我一直无法弄清楚这些,我真的不想为了这个微不足道的任务而选择另一种语言- 有人可以用勺子喂我怎么做吗?

谢谢!

script bash macos

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

创建包含 bash 历史扩展的别名

我经常忘记用 sudo 运行命令,所以我发现自己经常sudo !!在之后立即打字。

我试过别名这个,但 bash 扼杀了这一!!部分。有没有办法在别名中表示这个快捷方式?

sudo bash alias bash-alias

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

您如何确定正在输入您的实际命令?

假设我有一个名为 .bash 的 bash 脚本log.sh。在这个脚本中,我想从管道读取输入,但我也想知道用于将输入管道输入到我的命令。例子:

tail -f /var/log/httpd/error | log.sh
Run Code Online (Sandbox Code Playgroud)

在shell脚本中,我想知道命令tail -f /var/log/httpd/error.

linux bash pipe

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

无法在我的 Mac 上编辑 /etc/profile

在终端,我这样做:

sudo vi /etc/profile
Run Code Online (Sandbox Code Playgroud)

但我得到了一个只读版本。作为超级用户,我从来都无法编辑任何东西——这是怎么回事?

mac bash

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

在程序打印到标准输出的每个新行之前放置一个文本

所以我想做一些日志记录,因此,想在 bash 脚本的输出前面放一个日期。问题是它有多行输出。我只能将日期放在整个输出之前。但是后来我在日志中有一行没有日期。当然,我可以假设上一行的日期是相同的,但我希望有一个解决方案。提前致谢!

这是我调用另一个脚本的脚本:

#!/bin/sh
echo $(date "+%F %T") : starting script
echo $(date "+%F %T") : $(./script.sh)
echo $(date "+%F %T") :script ended
Run Code Online (Sandbox Code Playgroud)

这是输出:

2012-07-26 15:34:12 : starting script
2012-07-26 15:35:14 : First line of output
second line of output
2012-07-26 15:35:17 : script ended
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:

2012-07-26 15:34:12 : starting script
2012-07-26 15:35:14 : First line of output
2012-07-26 15:35:15 : second line of output
2012-07-26 15:35:17 : script ended
Run Code Online (Sandbox Code Playgroud)

bash date

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

基于温度的节流CPU?- Ubuntu

我在我的 Ubuntu 机器上运行了一些程序,这些程序长时间使用最大 CPU 功率。这会导致计算机过热。

有人可以建议一个好的程序来降低 CPU 功率以保持设定的温度吗?

我试过木星,但它没有那个功能。我也尝试了一些 Linux 脚本,但我没有修改它们以在 Ubuntu 上工作的技能。

任何帮助将非常感激。

bash ubuntu

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

/usr/bin/env: php: 没有那个文件或目录

我想使用 .sh 脚本来部署我的应用程序。该脚本位于我的主服务器(Ubuntu 15.10 服务器)上,标记为可执行文件。对这个脚本的访问是通过 ssh 完成的,使用教程,我设置了 ssh 登录,它运行该脚本。所以基本上我只是调用ssh deployer@XXX.com someArguments它并使用someArguments作为参数运行我的脚本。用户的deployeruid=0,所以它基本上root(这将在未来改变,我设置它只是为了消除权限问题,直到它正常工作)。

这就是事情变得棘手的地方。脚本报告/usr/bin/env: php: No such file or directoryat 命令/bin/composer install(使用Composer)。我越看那个剧本,事情就越奇怪。在这一行之前,还有一个叫做/bin/composer self-updateand /bin/composer -V,它既能正确运行,又能显示正确的输出。

我检查了以下几件事:

  • /usr/bin/env php -v显示正确的 PHP 版本(与 相同/usr/bin/php -v
  • whereis php 显示 php: /usr/bin/php /usr/local/bin/php /usr/share/man/man1/php.1.gz
  • php5-cli 安装包和最新版本
  • $PATH 包含 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
  • which env 显示 /usr/bin/env

我也尝试过以下事情:

  • 直接bash deploy.sh在 root 下运行脚本(因为它与该用户相同) - 完美无误
  • 直接运行失败的命令 - …

linux ssh bash php ubuntu

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

Windows 上的 Ubuntu 上的 Bash:无法更改(某些)目录颜色

在 Windows (10) 应用程序上的 Ubuntu 上的新 Bash 上,我尝试将目录颜色从蓝色更改为更明显的颜色,但由于某种原因无法更改某些文件/目录颜色。如何更改所有目录/文件颜色?我的 .bashrc 文件当前设置为文件和目录颜色的颜色提示为绿色和其他亮色。设置是:

LS_COLORS=$LS_COLORS:'di=1;31:fi=0;31;bd=0;32:fi=0;33:cd=0;96';
export LS_COLORS

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[0;31m\]\u@\h\[\033[0,31m\]:\[\033[0;31m\]\w\[\033[0,31m\]\$ '
Run Code Online (Sandbox Code Playgroud)

某些文件和文件夹已更改了与我的 .bashrc 文件相对应的颜色,但其他文件和文件夹由于某种原因没有更改。

一些示例截图: 在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

bash colors ubuntu windows-subsystem-for-linux

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

如何创建“以管理员身份运行”的 bash 快捷方式

要在项目文件夹中以管理员身份运行 bash 控制台 (Windows),目前我首先以管理员身份启动 bash,然后手动导航到极其费力的文件夹。有什么方法可以将图形快捷方式直接添加到此文件夹中以用于“以管理员身份运行”bash 控制台?

bash windows-10

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