如果目录名称为“我的目录”。我可以使用这个进入目录,
~: cd my\ dir
Run Code Online (Sandbox Code Playgroud)
或者
~: cd "dy dir"
Run Code Online (Sandbox Code Playgroud)
但我发现如果我这样做:
~: export my_dir=my\ dir
Run Code Online (Sandbox Code Playgroud)
或者
~: export my_dir="my dir"
Run Code Online (Sandbox Code Playgroud)
然后
~: cd $my_dir
Run Code Online (Sandbox Code Playgroud)
它不起作用, cd 总是将其参数作为“我的”并报告错误。
任何人都知道如何解决这个问题?
谢谢!
我如何告诉 aspell 忽略给定的单词集。
我确实需要将该列表作为输入参数传递,所以我不需要以交互方式忽略所有内容。
因为我有 100 多个文件的循环,我在其中调用 aspell 来检查每个文件的语法。
我正在尝试制作一个小脚本来为我正在制作的 python 网站启动 gunicorn。我稍微修改了在https://github.com/benoitc/gunicorn/blob/master/examples/gunicorn_rc 上找到的脚本。这是我的版本。
#!/bin/sh
GUNICORN=/usr/local/bin/gunicorn
ROOT=/srv/mobile-site/app
PID=/var/run/gunicorn.pid
APP=mobilecms:app
if [ -f $PID ]; then rm $PID fi
cd $ROOT
exec $GUNICORN -b 127.0.0.1:8080 -w 8 -k gevent --pidfile=$PID $APP
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行脚本时,它显示此错误
/etc/init.d/gunicorn: 13: Syntax error: end of file unexpected (expecting "fi")
Run Code Online (Sandbox Code Playgroud)
有谁知道出了什么问题?
这一点都不容易解释,但很容易展示。
我在文件中有几行,例如:
100Dollars 3 IP
200Dollars 3 IP
300Dollars 4 IP
Run Code Online (Sandbox Code Playgroud)
我需要对第二列中没有“3”的行进行 grep。我尝试了以下方法:
egrep -v '3' filename
Run Code Online (Sandbox Code Playgroud)
但是,这不会返回第三行,因为它的第一部分中有 3。这是我的基本问题,如果这有意义的话。
如何排除第一列中的内容,而只排除第二列中的内容?
每当命令的输出通过管道传送到 bash 中的另一个命令时,退出值($?变量)将从哪个命令返回?输出通过管道传输的命令,还是输出通过管道传输到的命令?
例如,在命令中说:
git diff | vim -
Run Code Online (Sandbox Code Playgroud)
请问$?变量来自于git diff命令或vim -指令?
在我的 .bash_profile 中,我为我经常运行的命令创建了别名。
如果我想将多个命令组合在一起,并且它们应该一个接一个地串行运行,该怎么办。
我该怎么做?
我的步骤:
登录后:
root@myserver.com:~$
但是,按 cntrl+D 退出
root@myserver.com:~$ exit
root@myserver.com:~$ exit
...
root@myserver.com:~$
5、不要放弃。
为什么?
请告诉我正确的方法。
如何将 x 赋值为 x + 1 的值?我可以用其他语言做到这一点,但无法用 bash 弄清楚。
我想通过包含的另一个脚本更改我的脚本的工作目录。
第一个脚本:
#!/bin/bash
pwd
source script2
pwd
Run Code Online (Sandbox Code Playgroud)
Sedond脚本:
cd ..
pwd
Run Code Online (Sandbox Code Playgroud)
结果如下:
> ./script1
/home/sebi/testdir1/testdir2 # 1st script
/home/sebi/testdir1 # 2nd script
/home/sebi/testdir1 # 1st script
Run Code Online (Sandbox Code Playgroud)
我在测试这个脚本时编辑了这个问题,它按我想要的方式工作,但是以下脚本的工作方式不同,因为下标完成执行父级与调用下标之前位于同一目录中。
#!/bin/bash
while :
do
sleep 5
cat /home/.../shelldata.txt >> /home/.../gmodshell #logging
((source /home/..../shelldata.txt) 2>&1) | \
sed -e "s/..shellRunner.sh..line../SH/" > \
/home/..../shellFeedback.txt
echo > /home/..../shelldata.txt
done
Run Code Online (Sandbox Code Playgroud)
整个目标是使用文件访问 bash,这样我就可以将命令写入一个文件,一段时间后我在另一个文件中获得输出。
我正在使用curl将文件上传到 ftp 服务器。相同的脚本正在另一个系统上运行,但是在连接到 ftp 后,它没有执行任何操作并且连接超时。带有 -v 选项的详细输出如下:
curl -v -# -T live_mc.sql ftp://userid:pwd@myserver.dyndns.biz/rdirc/
* About to connect() to myserver.dyndns.biz port 21 (#0)
* Trying xxx.xxx.xxx.xx... connected
* Connected to myserver.dyndns.biz (96.55.199.63) port 21 (#0)
< 220-FileZilla Server version 0.9.37 beta
< 220-written by Tim Kosse (Tim.Kosse@gmx.de)
< 220 Please visit http://sourceforge.net/projects/filezilla/
> USER userid
< 331 Password required for userid
> PASS pwd
< 230 Logged on
> PWD
< 257 "/" is current directory.
* Entry path …Run Code Online (Sandbox Code Playgroud)