标签: bash

Shell脚本::从文件中读取一列并将其存储在数组中

我正在处理 shell 脚本,我想将命令的 O/P 存储在数组中。我有一个包含行和列的文件,我想从中提取第三列并将所有值存储在数组中。如果假设我的文件中有以下内容info.txt

  abc  xyz  pqr  akl
  mnt  var  man  lak
  qer  tag  sam  bob
Run Code Online (Sandbox Code Playgroud)

我想在数组中存储 pqr、man 和 sam 让我们调用 name[1], name[2], name [3]

有人可以帮我解决这个问题。

linux unix shell bash shell-scripting

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

Cronjobs 将存档放在错误的目录中

我正在运行默认 Debian linux 的 Amazon ec2 实例上运行一个网站。我设置了一个 cronjob 来复制站点文件,获取数据库印记,然后将它们压缩。我想将文件存档保存在与 bash 脚本本身相同的目录中,该目录位于 /var/www/[a new directory]/[a new directory]/[etc]/ 中的深处。我创建了一个只能读取和转储数据库,但不能写入的 mysql 用户。

脚本如下

#/bin/bash

CURRPATH=$(pwd)
SITEPATH="/var/www/html"

MYSQLUSER="user"
MYSQLPASS="password"
MYSQLDB="database"

CURRDATE=$(date +"%Y-%m-%d__%T_%p")
DATETAG="Backup_$CURRDATE"
TEMPDIR="$CURRPATH/$DATETAG"
ARCHIVENAME="$DATETAG.zip"

# I first copy the files so I can stick a database imprint in the same directory
cp -r  "$SITEPATH/" "$CURRPATH/"
mv "$CURRPATH/html" "$TEMPDIR"
mysqldump -u "$MYSQLUSER" -p"$MYSQLPASS" "$MYSQLDB" > "$TEMPDIR/BackupDB_$CURRDATE.sql"

cd $CURRPATH
zip -r "$ARCHIVENAME" "$DATETAG"
rm -rf "$TEMPDIR"
Run Code Online (Sandbox Code Playgroud)

我用 crontab 设置了这个,它完美地工作,除了一个问题 - 存档最终在 ~/root 文件夹中(我用 root 用户设置了 …

debian bash cron shell-scripting

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

来自 shell 输出的奇怪字符

这几年出现了一些Linux系统在运行各种命令时会输出奇怪的字符。这是我sensors在其中一台机器上的命令输出的示例:

acpitz-virtual-0
Adapter: Virtual device
temp1:        +45.5°C  (crit = +126.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +44.0°C  (high = +100.0°C, crit = +100.0°C)
Core 1:       +45.0°C  (high = +100.0°C, crit = +100.0°C)

nouveau-pci-0100
Adapter: PCI adapter
temp1:        -62.0°C  (high = +95.0°C, crit = +99.0°C)
Run Code Online (Sandbox Code Playgroud)

注意Â整个地方的角色。为什么在某些环境中会发生这种情况,而在其他环境中不会发生这种情况?我能做些什么来纠正这个问题?

linux shell bash terminal

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

更改所有 Bash 用户的 PS1 值

我正在尝试将系统所有用户的提示值($PS1 变量)更改为相同的值。

我将以下内容存储在文件 /etc/ps1 中:

PS1='`
  if [ $? -eq 0 ];
    then echo -n "\[\033[00;35m\]\u\[\033[01;32m\]@\[\033[00;35m\]\h\[\033[00;32m\](\[\033[01;35m\]\W\[\033[01;32m\])\[\033[00;32m\]\$";
    else echo -n "\[\033[00;35m\]\u\[\033[01;31m\]@\[\033[00;35m\]\h\[\033[01;31m\](\[\033[35m\]\W\[\033[31m\])\[\033[00;31m\]\$";
  fi`\[\033[0m\]'
Run Code Online (Sandbox Code Playgroud)

在我的单用户帐户下,我可以将source /etc/ps1它添加到我的 ~/.profile 文件中(有趣的是,当我将它添加到 ~/.bashrc 时它不起作用)。如果我将其添加到 /etc/profile 或 /etc/bashrc.basrch 以使所有用户都发生这种情况,则不会发生任何事情。我正在拔头发试图让它发挥作用。这是在 Debian 7.1.0 (Linux 3.2.46) 上。

debian bash bashrc

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

来自 bash 的便携式守护进程管理(sysvinit/upstart/systemd)

我有一个需要停止服务的小 shell 脚本。这需要在 ubuntu (14.04)、debian 和 Arch 上工作。现在我所做的类似于

   case $(cat /etc/issue) 在 
     *Ubuntu*)
       服务命令
     *Debian*)
       /etc/init.d/servicename 命令
     *拱*)
       systemctl 服务命令
   esac

有没有更好的方法来做到这一点?

bash upstart init.d systemd

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

使用 BASH 从 N 行开始读取文件的内容

假设我有包含以下内容的文件 temp.txt:

1
2
3
4
5
6
Run Code Online (Sandbox Code Playgroud)

您将如何使用 BASH 从第 3 行开始读取文件的内容,以便输出如下所示:

3
4
5
6
Run Code Online (Sandbox Code Playgroud)

bash

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

如何在 CentOS 上安装 lvextend?

lvextend 没有安装在我的 CentOS 映像上,我该如何安装?

# lvextend
-bash: lvextend: command not found
Run Code Online (Sandbox Code Playgroud)

bash centos

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

为什么cron条目的PATH错误?

我在 cron.d 中有一个条目:

31 17 * * * root /home/some_user/.bash_profile; /home/some_user/bin/some_script
Run Code Online (Sandbox Code Playgroud)

配置文件设置了一个特定的路径,我在配置文件中回显当前路径以确保其正确。但是,当脚本执行时,其中的命令失败,因为它不在 PATH 中,并且当我在脚本中显示当前 PATH 时 - 它不是配置文件中设置的。

为什么配置文件中设置的 PATH 在脚本的执行中不存在?

bash cron

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

在另一个脚本中执行一个脚本

我有一个这样的脚本:

/root/bin/script1.sh
Run Code Online (Sandbox Code Playgroud)

将此行放在 .bashrc 中

/root/bin/script1.sh &
Run Code Online (Sandbox Code Playgroud)

script1.sh不运行 - 问题是 &。没有“&”脚本运行完美

linux bash

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

在 bash_profile 中隐藏密钥对路径的最佳实践?

我将点文件保存在公共 github 存储库中,其中包括我的 aws 密钥的路径,这似乎是一件等待发生的可怕事情。

所以它是这样的:

function superssh { ssh user@something -i /file/path/to/keys;}
Run Code Online (Sandbox Code Playgroud)

有什么更好的方法可以提高我的安全性?

bash bashrc

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

标签 统计

bash ×10

linux ×3

bashrc ×2

cron ×2

debian ×2

shell ×2

shell-scripting ×2

centos ×1

init.d ×1

systemd ×1

terminal ×1

unix ×1

upstart ×1