我编写批处理文件,我想将修改时间(timstap)与两个文件夹进行比较并复制最新的一个。我不知道这个选项可用目录是否是因为我不知道。所以我想获取日期并将每个部分存储在变量中以进行比较
例子 :-
获取日期date11 5 2011 11:10:57
天=11
月=5
年=2011
小时=11
最小值=10
秒=57
只是想知道是否可以将我想使用的密码传递给 ubuntu 中的 adduser 命令,以便它可以自动化。
我想做这样的事情
echo "密码" | 添加用户测试
这将消除填写 adduser 命令所需的表单并为“test”用户设置密码“password”的需要。
我正在使用 git bash 并尝试使用我的 Windows 用户名以“git push origin Dev”登录,但我希望它使用不同的名称,即我在遥控器上的用户名。我怎样才能改变这个?谢谢
在卸载 HP/palm enyo SDK 和安装 node JS 的过程中,我以某种方式搞砸了一些东西(我认为我的路径)。
现在,当我尝试使用 apt-get 时,我得到以下信息:
-bash: apt-get: command not found
Run Code Online (Sandbox Code Playgroud)
我不确定如何解决这个问题。这是我的 $PATH
/opt/local/bin:/opt/local/sbin:/Users/wesbos/local/node/bin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/PalmSDK/0.1/bin/
Run Code Online (Sandbox Code Playgroud)
使用 OSX Lion 但问题仍然存在于 Snow Leopard
我对 Linux 非常陌生,并且在 CentOS 中应该是一个非常简单的 Bash 脚本时遇到了问题。
#! /bin/bash
# script to restore the cognos rds from snapshot
export AWS_RDS_HOME=/opt/aws/apitools/rds
export PATH=$PATH:$AWS_RDS_HOME/bin
export AWS_CREDENTIAL_FILE=$AWS_RDS_HOME/credential-file-path.template
echo $AWS_RDS_HOME
echo $PATH
echo $AWS_CREDENTIAL_FILE
rds-delete-db-instance mydb --final-db-snapshot-identifier mydb-daily-$(date +%Y)-$(date +%m)-$(date +%d) --force -region eu-west-1
Run Code Online (Sandbox Code Playgroud)
我添加了 echo 语句,以便我可以看到发生了什么。我运行时的输出
sh myscript.sh
Run Code Online (Sandbox Code Playgroud)
是:
/opt/aws/apitools/rds
/bin/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/bin:/opt/aws/apitools/rds
/credential-file-path.template
rds-delete-db-instance: command not found
Run Code Online (Sandbox Code Playgroud)
因此,当我引用在同一脚本中设置的其他环境变量时,导出命令似乎不起作用。
我哪里错了?
更新:我已经尝试了下面的建议,但仍然不高兴。运行 bash -x 很有趣。每当我尝试连接时,下面的 "\r" 是否会在后面?例如
#! /bin/bash
# test script
export AWS_RDS_HOME=/opt/aws/apitools/rds
export PATH=$PATH:$AWS_RDS_HOME/bin
export AWS_CREDENTIAL_FILE=$AWS_RDS_HOME/credential-file-path.template
echo $AWS_RDS_HOME
echo $PATH
echo $AWS_CREDENTIAL_FILE
Run Code Online (Sandbox Code Playgroud)
结果是: …
bash centos environment-variables export amazon-web-services
我正在制作一个 bash 脚本来检查磁盘上的可用空间:
if [ check_space -gt "85" ]; then
echo "removing"
else
echo "not removing"
fi
Run Code Online (Sandbox Code Playgroud)
check_space返回一个数字52,check_space函数是:
check_space() {
df /dev/sda1 | tail -1 | awk '{print $5}' | sed 's/%//';
}
Run Code Online (Sandbox Code Playgroud)
它正在返回./backup.sh: line 63: [: check_space: a full expression was expected(我从西班牙语翻译它,所以可能不是准确的翻译)。可能有什么问题?
假设我想替换某个字符串的第 n 个字母,我该怎么做?
我试过这样的事情,但它不正确:
#!/bin/bash
index= # let say 2
s='Hello'
echo ${s/$index/'a'} # This should print Healo
Run Code Online (Sandbox Code Playgroud) 可能的重复:
当后缀队列为空时断开调制解调器
此脚本代码检查后缀邮件队列是否为空,如果为真,它将断开我的调制解调器。
#!/bin/sh
postqueue -p|grep empty
if [ $? -eq 0 ]; then
killall wvdial
fi
Run Code Online (Sandbox Code Playgroud)
我需要根据需要多次运行它,直到邮件队列变空。
我怎样才能循环它?
也许放置一个else返回以从postqueue -p|grep empty行开始执行脚本?
我知道它可以很简单,但我在 bash 脚本方面不是很擅长,所以我需要帮助来完成这段代码。
我刚刚编写了这个脚本,用于将所有内容备份到 tar.gz 文件中。看起来没问题吗?执行后如何获取 tar 文件以将其自身转移到另一台服务器?FTP本身?我将把这个脚本放到每周一次的 cron 中。
#!/bin/bash
rm ~/backup.tar.gz #removes old backup
BACKUP_DIRS=$HOME #$HOME is builtin, it goes to /home/ and all child dirs
tar -cvzf backup.tar.gz $BACKUP_DIRS
# run tar -zxvf to extract backup.tar.gz
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的服务器上设置一些基本的温度监控 - (不使用第三方工具)。
我已经在我的 linux 机器上安装了几个库来让传感器在我的服务器上工作,现在我可以使用sensors可能返回如下数据的命令:
asb100-i2c-1-2d
Adapter: SMBus nForce2 adapter at 5500
in0: +1.79 V (min = +1.39 V, max = +2.08 V)
in1: +1.79 V (min = +1.39 V, max = +2.08 V)
in2: +3.34 V (min = +2.96 V, max = +3.63 V)
in3: +2.96 V (min = +2.67 V, max = +3.28 V)
in4: +3.06 V (min = +2.51 V, max = +3.79 V)
in5: +3.06 V (min = +0.00 V, max = +0.00 …Run Code Online (Sandbox Code Playgroud)