我开始学习为bash终端编写脚本,但我无法弄清楚如何让比较正常工作.我正在使用的脚本是:
echo "enter two numbers";
read a b;
echo "a=$a";
echo "b=$b";
if [ $a \> $b ];
then
echo "a is greater than b";
else
echo "b is greater than a";
fi;
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是它比较了第一个数字的数字,即9大于10000,但1大于09
如何将数字转换为类型以进行真正的比较?
基本上我需要使用与shell脚本文件位置相关的路径运行脚本,如何将当前目录更改为脚本文件所在的目录?
我screen在命令shell上使用多路复用器工具并打开很多屏幕.然后我忘记哪个进程ID与哪个任务相关联.
我想为屏幕设置名称,但在联机帮助页中找不到选项.
目前,列出屏幕如下所示:
There are screens on:
5422.pts-1.aws1 (Detached)
5448.pts-1.aws1 (Detached)
5027.pts-1.aws1 (Detached)
3 Sockets in /var/run/screen/S-sb.
Run Code Online (Sandbox Code Playgroud)
我希望看到这样的事情:
There are screens on:
5422.logCleanWorker (Detached)
5448.overNightLongTask(Detached)
5027.databaseOverNightLongTask (Detached)
3 Sockets in /var/run/screen/S-sb.
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
Run Code Online (Sandbox Code Playgroud)$ adb --help
...
Run Code Online (Sandbox Code Playgroud)-s SERIAL use device with given serial (overrides $ANDROID_SERIAL)
...
Run Code Online (Sandbox Code Playgroud)$ adb devices List of devices attached emulator-5554 device 7f1c864e device
...
Run Code Online (Sandbox Code Playgroud)$ adb shell -s 7f1c864e error: more than one device and emulator
?
我想读取一个文件并将其保存在变量中,但我需要保留变量而不是打印出文件.我怎样才能做到这一点?我写过这个剧本,但它不是我需要的:
#!/bin/sh
while read LINE
do
echo $LINE
done <$1
echo 11111-----------
echo $LINE
Run Code Online (Sandbox Code Playgroud)
在我的脚本中,我可以将文件名作为参数,因此,如果文件包含"aaaa",例如,它会打印出来:
aaaa
11111-----
Run Code Online (Sandbox Code Playgroud)
但这只是将文件打印到屏幕上,我想将其保存到变量中!是否有捷径可寻?
我想杀死整个进程树.使用任何常用脚本语言执行此操作的最佳方法是什么?我正在寻找一个简单的解决方案.
我有两个文件:file1和file2.如何追加内容file2以file1使内容file1持久化?
我有一个调用许多命令的Bash shell脚本.如果任何命令返回非零值,我希望shell脚本自动退出,返回值为1.
如果没有明确检查每个命令的结果,这可能吗?
例如
dosomething1
if [[ $? -ne 0 ]]; then
exit 1
fi
dosomething2
if [[ $? -ne 0 ]]; then
exit 1
fi
Run Code Online (Sandbox Code Playgroud) 问题:是否有一个简单的sh/bash/zsh/fish/...命令来打印我提供的文件的绝对路径?
用例:我在目录中/a/b,我想c在命令行上打印文件的完整路径,以便我可以轻松地将其粘贴到另一个程序中:/a/b/c.简单但是一个小程序可以在处理长路径时节省大约5秒钟,这最终会增加.因此,令我惊讶的是,我无法找到标准实用程序来执行此操作 - 真的没有吗?
这是一个示例实现,abspath.py:
#!/usr/bin/python
# Author: Diggory Hardy <diggory.hardy@gmail.com>
# Licence: public domain
# Purpose: print the absolute path of all input paths
import sys
import os.path
if len(sys.argv)>1:
for i in range(1,len(sys.argv)):
print os.path.abspath( sys.argv[i] )
sys.exit(0)
else:
print >> sys.stderr, "Usage: ",sys.argv[0]," PATH."
sys.exit(1)
Run Code Online (Sandbox Code Playgroud)