标签: bash

添加命令输出的 bash shell 脚本

假设我有一个命令foo,它在调用时在屏幕上打印一个数字:

$ foo
3
Run Code Online (Sandbox Code Playgroud)

假设我有另一个命令调用bar,它在调用时将另一个数字打印到屏幕上:

$ bar
5
Run Code Online (Sandbox Code Playgroud)

我正在寻找编写一个 shell 脚本,它将算术地将foobar(3+5=8)的输出相加。我该怎么做?(命令的输出提前未知。它们上次运行时恰好是 3 和 5。它们可能是其他东西。)

unix script bash shell-script

4
推荐指数
1
解决办法
2201
查看次数

如何在 bash shell 脚本中调用函数

我只是想知道在 bash shell 脚本之间$(one_function)one_function中调用函数的区别。

当我在 中设置变量PS1~/.bashrc,我无法通过one_func ex调用该函数:

export PS1="\n\[\e[31m\] \$(one_func)  # it works 

export PS1="\n\[\e[31m\] one_func      # it doesn't work
Run Code Online (Sandbox Code Playgroud)

linux bash shell

4
推荐指数
1
解决办法
3611
查看次数

一次运行多个 SQL 文件

我觉得我过去运行过如下命令,但我现在尝试它时出错。也许我只是脑放屁,我的语法不正常。

mysql -u root -p db_name < *.sql
Run Code Online (Sandbox Code Playgroud)

我希望这样做是运行按字母数字顺序排列的文件夹中的所有 SQL 文件。但是,我收到此错误:

-bash: *.sql: ambiguous redirect
Run Code Online (Sandbox Code Playgroud)

bash mysql sql

4
推荐指数
1
解决办法
4668
查看次数

在 Ubuntu 上完全卸载 Git?

我在 Ubuntu Lucid(最新)上手动安装了 Git,如下所示。

cd ~/tmp

wget http://kernel.org/pub/software/scm/git/git-1.7.0.6.tar.gz

tar -xzvf git-1.7.0.6.tar.gz
cd git-1.7.0.6.tar.gz
./configure
sudo make
sudo make install
Run Code Online (Sandbox Code Playgroud)

现在,我怎样才能完全卸载它?

linux uninstall bash git ubuntu-10.04

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

Bash Shell 脚本 - 如何遍历目录以及复制和重命名文件?

我有一个目录设置如下:

/hosted/partner1/logo.png
/hosted/partner2/logo.png
/hosted/partner3/logo.png
/hosted/partner4/logo.png
/hosted/partner5/logo.png
..etc.
Run Code Online (Sandbox Code Playgroud)

我想编写一个脚本,可以使用不同的文件名将这些文件复制到不同的位置,如下所示:

/partners/partner1.png
/partners/partner2.png
/partners/partner3.png
..etc.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我对 shell 脚本不太熟悉,而且有很多文件需要迁移到单个目录...

bash shell shell-script

4
推荐指数
1
解决办法
4602
查看次数

在linux bash中删除文件夹

我试图在 gnu/linux 中删除另一个文件夹中以“.”开头的所有文件夹。(点),为此我正在使用 find 实用程序,这就是我所拥有的:

find . -iname ^\..* -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)

但它没有做任何事情:(。我已经测试了正则表达式并且效果很好。有什么帮助吗??

非常感谢您的时间。

linux bash regex

4
推荐指数
1
解决办法
544
查看次数

在 OS X 中使用 shell 脚本打开文件类型

我试图弄清楚是否可以将 OS X 中给定文件扩展名的打开操作(双击文件)编程为:

将文件的绝对路径传递给 shell 脚本(最好是 bash 或 ruby​​ 或 python)。

我得到的唯一解决方案是将我的脚本打包为一个应用程序并将文件类型关联设置为始终在我的应用程序中打开扩展名 .xyz。有更容易的方法吗?

bash macos

4
推荐指数
1
解决办法
1889
查看次数

ls 没有按预期列出文件

我面临以下问题:

输出 1

sh-3.2$ ls -R
.:
#dir1  #dir2

./#dir1:
f1  f2  f3

./#dir2:
f1  f2  f3
Run Code Online (Sandbox Code Playgroud)

输出 2

sh-3.2$ ls #dir1
#dir1  #dir2
Run Code Online (Sandbox Code Playgroud)

正如在 Output1 中看到的,该目录#dir1有文件,f1 f2 and f3但是当我在该目录上执行 ls 时,我得到了一个不同的输出,如 Output2 中所见,Output2 似乎表明该#dir1目录具有#dir1 #dir2.

这里发生了什么?这是某种循环链接吗?

bash

4
推荐指数
1
解决办法
203
查看次数

如何在我的 Ubuntu 终端中只显示基本目录?

在 Ubuntu 10.04 终端中,当我遍历一些长目录结构时,整个路径都会显示出来,这会导致终端上的大量空间浪费,光标移到右侧。它引起了很多刺激。任何只显示基本目录的方法。

目前 - ops@ops:/media/Main320/final_code/code/office/c/practice/parsers/proj1$

需要 - ops@ops:~/proj1$

我确定这是一些配置更改或一些配置文件首选项更改。任何人...

bash bashrc

4
推荐指数
1
解决办法
8819
查看次数

为什么我的 bash 脚本不能导出变量?

我正在使用 MSYS 并有一个文件 vars.txt ,其中包含变量值键,例如:

WINDIR C:/WINDOWS
STS_BUILD_DIRECTORY D:/STS/TMP
ALLUSERSPROFILE C:/Documents and Settings/All Users
Run Code Online (Sandbox Code Playgroud)

我想读入并设置环境变量。我有一个 bash 脚本 setenv:

while read var value;
do
  echo "performing export $var=$value"
  export $var='$value'
done 
Run Code Online (Sandbox Code Playgroud)

我用

cat vars.txt | source setenv
Run Code Online (Sandbox Code Playgroud)

但是在我的环境中没有设置变量。我也试过把它变成一个函数,但没有乐趣。这里有人知道我做错了什么吗?谢谢。

bash environment-variables

4
推荐指数
1
解决办法
6139
查看次数