我有一个在屏幕会话(游戏服务器)中运行的 Java 应用程序,我希望能够编写一个脚本来定期向它发送命令(可能使用 cron),但我不确定如何发送命令到正在运行的屏幕会话。
这可能吗?由于我不仅向屏幕发送更多 shell 命令,而且将文本放入正在运行的 Java 控制台,这一事实可能会变得复杂。
我有一个更改目录然后运行的 shell 脚本。我希望一旦脚本终止,目录更改就会冒泡到命令提示符。
所以,我运行它:
. script
Run Code Online (Sandbox Code Playgroud)
但是,现在当脚本终止时,整个窗口都会终止。有没有办法来解决这个问题?
我的外壳是 bash。
我正在尝试在 bash 中创建别名,例如:
别名 cat /home/file='cat /home/thisfile'
我不知道为什么这不起作用。我到处尝试在谷歌上找到答案,据我所知,这个网站会得到答案。-珍妮丝
我需要从现在开始在我的项目中使用 GIT,我需要使用一些 UNIX 命令。但无论我做什么,我总是收到“找不到命令”错误。
我安装了 MacPorts,但仍然无法运行任何 UNIX 命令:/
当我尝试时$ ls,我收到以下错误,对于sudo或任何其他命令也是如此:
-bash: ls: command not found
Run Code Online (Sandbox Code Playgroud)
当我尝试时$PATH,我得到以下几行:
hakan-yilmaz-MacBook-Pro:~ hakanyilmaz$ **$PATH**
-bash: /opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.6/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/opt/subversion/bin/:PATH: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我使用的是 Mac OS X 10.6.6
我花了 2 到 3 天的时间,并继续使用谷歌搜索并尝试我在论坛上找到的所有内容,但没有成功。
解决方案:
我打开.bash_profile并删除了除
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
Run Code Online (Sandbox Code Playgroud)
然后,我重新启动那台 Mac,它可以工作了!
我在一个目录中有很多文件。他们每个人的名字都非常不同:
one.tar.gz
juk.tar.gz
cv.tar.gz
erf.tar.gz
vcx.tar.gz
cxcd.tar.gz
vc.tar.gz
jkjk.tar.gz
zxc.tar.gz
asd.tar.gz
ghj.tar.gz
kll.tar.gz
qwe.tar.gz
Run Code Online (Sandbox Code Playgroud)
一一提取非常耗时。所以我想使用一个命令提取所有这些文件。我试过tar -xzf *但没有用
我正在编写一个 bash 脚本,该脚本在复制新文件之前备份配置文件。
这是我的代码段的样子:
mv ~/myStuff.conf ~/myStuff.conf.bak
cp ~/new/myStuff.conf ~/myStuff.conf
Run Code Online (Sandbox Code Playgroud)
每次运行此脚本时,我都希望备份的文件名中有一个 unix 时间戳。我试过这个
DATEVAR=date +%s
mv ~/myStuff.conf ~/myStuff.conf.$DATEVAR.bak
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为 date 函数不执行并且 bash 将其视为字符串,结果文件最终被
myStuff.conf.date+%s.bak
Run Code Online (Sandbox Code Playgroud)
关于如何将日期函数的结果转换为变量的任何想法?
我在存储中有一组文件,我只想获取新文件并将其放在另一个目录中。有没有办法做到这一点?
例如:
“旧文件”包含在:文件夹/旧文件中
我希望将来自 rsync 的新文件放入文件夹/ [并且我的脚本将在处理文件后将其放入旧文件中]
有没有办法用 rsync 做到这一点?
谁能解释一下 Ubuntu 的 bash 提示?
它基本上是 username@box:~$ 但让我困惑的部分是 $。它只是一个可以偏好的字母,还是有一些实际含义?
我正在尝试获取在 /etc/init.d/ar_sendmail 中工作的启动脚本(用于名为 ar_sendmail 的 ruby gem):
#! /bin/sh
echo "in /etc/init.d/ar_sendmail"
DIR=/home/max/work/e_learning_resource/trunk
PATH=/var/lib/gems/1.8/bin
DAEMON=/var/lib/gems/1.8/bin/ar_sendmail
DAEMON_OPTS="-e production -d --batch-size 100 --delay 150"
NAME=ar_sendmail
DESC=ar_sendmail
PID_FILE=/home/max/work/e_learning_resource/trunk/shared/log/ar_sendmail.pid
test -x $DAEMON || exit 0
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon -d $DIR --start --quiet --pidfile $PID_FILE \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
kill -TERM `cat $PID_FILE`
rm $PID_FILE
echo "$NAME."
;;
restart)
echo -n "Restarting $DESC: "
kill -TERM …Run Code Online (Sandbox Code Playgroud) 我有一个 bash 命令,我想每秒运行一次并保持输出显示在屏幕上。我可以执行以下操作:
while "true"; do foo; sleep 1; done
Run Code Online (Sandbox Code Playgroud)
但这会产生分散注意力的滚动。或者,我可以执行以下操作:
while "true"; do clear; foo; sleep 1; done
Run Code Online (Sandbox Code Playgroud)
但这会导致输出在清除和写入时闪烁。有没有一种好方法可以让命令的输出覆盖终端上的内容?
bash ×10
macos ×2
unix ×2
command-line ×1
gnu-screen ×1
init ×1
prompt ×1
rsync ×1
shell ×1
shell-script ×1
tar ×1
terminal ×1
ubuntu ×1