- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有以下脚本,它从我的 mysql 数据库中创建 SQL 转储。这些文件然后由 git 历史化。在此脚本中,我遇到了一种奇怪的行为,即使经过一些研究,我也无法回答。
如果我运行脚本,我会收到一条错误消息,指出在第 25 行(即“fi”语句)进程“/usr/bin/git commit -m "$NOW"已终止:
xxx@xxx:/var/log# /opt/mysql_backup.sh
[master 12fd643] 2016-12-29
/opt/mysql_backup.sh: Line 25: 11163 Killed /usr/bin/git commit -m "$NOW"
在调试时,我注释掉了 if-then-else 语句,该语句检查是否存在 git 并且 scipts 运行没有错误。
我的问题是: 为什么 dash 在“fi”语句处“终止”git 命令?事实上,提交已经执行,所以我想知道错误消息的原因可能是什么。该脚本在 Raspbian Jessie 上的 dash 上运行。
提前致谢!
乔格
脚本:/opt/mysql_backup.sh
#!/bin/dash
# TARGET: Backup-Ziel
# IGNORE: Liste zu ignorierender Datenbanken (durch | getrennt)
# CONF: MySQL Config-Datei, welche die Zugangsdaten enthaelt
TARGET=/srv_ext/z_backup/mysql
IGNORE="phpmyadmin|mysql|information_schema|performance_schema|test"
CONF=/etc/mysql/debian.cnf
if [ ! -r $CONF ]; then /usr/bin/logger "$0 - auf $CONF konnte nicht zugegriffen werden"; exit 1; fi
if [ ! -d $TARGET ] || [ ! -w $TARGET ]; then /usr/bin/logger "$0 - Backup-Verzeichnis nicht beschreibbar"; exit 1; fi
DBS="$(/usr/bin/mysql --defaults-extra-file=$CONF -Bse 'show databases' | /bin/grep -Ev $IGNORE)"
NOW=$(date +"%Y-%m-%d")
for DB in $DBS; do
/usr/bin/mysqldump --defaults-extra-file=$CONF --skip-extended-insert --skip-comments $DB > $TARGET/$DB.sql
done
if [ -x /usr/bin/git ] && [ -d ${TARGET}/.git/branches ]
then
cd $TARGET
/usr/bin/git add .
/usr/bin/git commit -m "$NOW"
else
/usr/bin/logger "$0 - git nicht verfuegbar oder Backup-Ziel nicht unter Versionskontrolle"
fi
/usr/bin/logger "$0 - Backup von $NOW erfolgreich durchgefuehrt"
exit 0
使用“set -x”运行的输出:
xxx@xxx:/opt# ./mysql_backup.sh
+ TARGET=/srv_ext/z_backup/mysql
+ IGNORE=phpmyadmin|mysql|information_schema|performance_schema|test
+ CONF=/etc/mysql/debian.cnf
+ [ ! -r /etc/mysql/debian.cnf ]
+ [ ! -d /srv_ext/z_backup/mysql ]
+ [ ! -w /srv_ext/z_backup/mysql ]
+ /usr/bin/mysql --defaults-extra-file=/etc/mysql/debian.cnf -Bse show databases
+ /bin/grep -Ev phpmyadmin|mysql|information_schema|performance_schema|test
+ DBS=c_db
s1_db
s2_db
zabbix
+ date +%Y-%m-%d
+ NOW=2016-12-29
+ /usr/bin/mysqldump --defaults-extra-file=/etc/mysql/debian.cnf --skip-extended-insert --skip-comments c_db
+ /usr/bin/mysqldump --defaults-extra-file=/etc/mysql/debian.cnf --skip-extended-insert --skip-comments s1_db
+ /usr/bin/mysqldump --defaults-extra-file=/etc/mysql/debian.cnf --skip-extended-insert --skip-comments s2_db
+ /usr/bin/mysqldump --defaults-extra-file=/etc/mysql/debian.cnf --skip-extended-insert --skip-comments zabbix
+ [ -x /usr/bin/git ]
+ [ -d /srv_ext/z_backup/mysql/.git/branches ]
+ cd /srv_ext/z_backup/mysql
+ /usr/bin/git add .
+ /usr/bin/git commit -m 2016-12-29
[master b8952b9] 2016-12-29
Killed
+ /usr/bin/logger ./mysql_backup.sh - Backup von 2016-12-29 erfolgreich durchgefuehrt
+ exit 0
最佳答案
当然树莓派只有 1G,由于 SD 存储卡的磨损均衡,我没有启用交换。随着交换它的工作! ——约尔格
关于linux - bash/破折号 : Process killed on "fi" in an "If then else" statement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41378005/
除了智能手机、平板电脑和个人电脑等流行设备外,Wi-Fi 6还将嵌入其他设备中,包括无线摄像头、智能家居设备、游戏机、可穿戴设备和AR/VR耳机。 那么,Wi-Fi 6会取代5G,成为下一代无线网络
在 API 14 或更高版本 (ICS) 中,可以使用临时 Wi-Fi 网络。我目前拥有以下设备,我正在尝试弄清楚如何测试 Wi-Fi 直连功能,或者我是否需要购买另一台搭载 Android 4.0
我正在构建一个 Android 应用程序以允许在有限范围内的两个设备之间进行通信,但我找不到与 native 等效的插件 Android Wi-Fi peer-to-peer适用于 Phonegap/
我目前正在尝试通过 Wi-Fi Direct 连接两部知道彼此 MAC 地址的手机,但偶然发现了以下问题:我从 收到的 MAC 地址 WifiManager wifiMan = (WifiMa
在 iOS 设备内和支持 Wi-Fi Direct 的设备之间是否可以进行 Wi-Fi Direct 连接? 目标是在没有任何 Controller 的情况下实现 iOS 设备与另一台设备(不一定是另
我正在开发一个管理 Wi-Fi 连接的应用程序。我的场景如下:假设整栋楼都有一个名为“testing-tls”的 Wi-Fi 网络。我的应用程序应该只能连接到选定的接入点(基于 BSSID 或 MAC
我正在尝试编译这段代码,但出现以下错误: Q2.sh: line 18: syntax error near unexpected token `fi' Q2.sh: line 18: `fi' 在第
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
看到这个脚本,我试图弄清楚使用的是什么语言......它几乎就像 C 但我注意到 fi 作为关闭嵌套 if 的一种方式。 function prompt () { if [ "$noprompt" ]
我们正在使用专用网络,其中端口被防火墙阻止。 我们将提出为我们的机器IP地址打开端口的请求。 如果启用了wi-fi,则系统将具有2个IP地址,并且如果我们的连接通过该IP地址进行路由,则我们将无法访问
根据这篇文章:peer-to-peer Wi-Fi,我知道对等在iOS设备之间采用Bonjour连接。但是,我无法使它在专属网络中的设备(例如星巴克或Panera Bread)之间工作。 如果您能够在
我正在尝试编写一个脚本来删除所有以奇数结尾的 .jpg。这是我的代码: #!/bin/bash echo "start\n" for f in *.jpg do fname=$(basename
我一直在到处寻找解释。这是取自 apt-fast.sh 脚本的真实示例: if [ ! -x /usr/bin/axel ] then echo "axel is not installed, per
我正在 GCM (Android) 上开发示例应用程序。在其中我使用 tomcat 服务器发送消息。以及接收消息的设备。一切正常,除非我的 wifi 关闭。一旦我的 wi-fi 关闭,我就停止向我的设
我有一个带有以下内容的 mySQL 数据库 e.g.Microeconomics. The ‘theory of the ï¬rm’ or:Resource allocation modiï¬cati
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
这个问题在这里已经有了答案: Associating my Windows computer to a wifi AP with Python (3 个答案) 关闭 9 年前。 想象一下,您有 Wi
今天,我想测量 Wi-Fi 信号质量。所以我下载了Wi-Fi Analyzer app,然后安装到模拟器上,但是显示没有打开Wi-Fi。因此我打开它,但它仍然显示错误。 试了几次还是不行 有什么想法吗
频谱类型 传统上讲,蜂窝网络工作于授权频谱,Wi-Fi工作于非授权频谱。但进入5G时代,这种划分逐渐变得模糊。一方面,一些国家,比如德国、英国、日本、法国、美国等,已经为5G专网分配了本地化频
前边总得说点什么 最近每次在Win10上写代码需要启动Redis,残血Redis For Windows有卡死系统的bug。由于主机内存不大够用(已经扩到顶了),开虚拟机运行Redis更别提了。。想起
我是一名优秀的程序员,十分优秀!