直接代码:
bash -x test.sh 2>&1 | tee out.test
或者:
bash -x script.sh 2> log
-x表示debug模式
本文:Shell: debug所有运行过程到log文件, Run a bash script in debug mode, show output and save it on a file… Read More
shell函数不能直接返回字符串,用以下三种方式代替!
A Bash function can’t return a string directly like you want it to. You can do three things:
Echo a string
Return an exit status, which is a number, not a string
Share a variable
This is also true for some other shells.
Here’s how to do each of those options:
1. Echo strings
lockdir="somedir"
testlock(){
retva… Read
发现phpmyadmin默认是latin字符编码,导致某些特殊字符,或者乱码字符无法保存,常有的报错类似:
Mysql2::Error: Incorrect string value: '\xE2\x80\xA8\x09
1. 那么首先看一下我们的mysql默认字符是什么:
sudo mysql
mysql> status
--------------
mysql Ver 14.12 Distrib 5.0.45, for Win32 (ia32)
Connection id: 25
Current database: spiel0
Current user: root@localhost
SSL:
I had a similar problem on Trusty (14.04). Solved it by setting machine’s timezone then restarting cron service
sudo dpkg-reconfigure tzdata – follow the instructions to select Region/Country
sudo service cron restart
本文:Ubuntu:修改时区, How do you set the timezone for crontab?… Read More
今天想运行一下非常简单的代码:test.sh
#!/bin/bash
str="Learn to Split a String in Bash Scripting"
IFS=' ' # space is set as delimiter
read -ra ADDR <<< "$str" # str is read into an array as tokens separated by IFS
for i in "${ADDR[@]}"; do # access each element of
awk简介
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母。因为它的作者是三个人,分别是Alfred Aho、Bri… Read More
sed 是一个比较古老的,功能十分强大的用于文本处理的流编辑器,加上正则表达式的支持,可以进行大量的复杂的文本编辑操作。sed 本身是一个非常复杂的工具,有专门的书籍讲解 sed 的具体用法,但是个人觉得没有必要去学习它的每个细节,那样没有特别大的实际意义。网上也有很多关于 sed 的教程,我也是抱着学习的心态来学习 sed 的常见的用法,并进行系统的总结,内容基本覆盖了 sed 的大部分的知识点。文中的内容比较简练,加以实际示例来帮助去理解 sed 的使用。
一、写在前边
1、sed介绍
sed 全名为 stream editor,流编辑器,用程序的方式来编辑文本,功能相当的强大。是贝尔实验室的 Lee E.McMahon 在 197… Read More
1. 转换数字为字符串 How do I use jq to convert number to string?
Given the following jq command and Json:
jq '.|[.string,.number]|join(": ")' <<< '
[
{
"number": 3,
"string": "threee"
},
{
"number": 7,
"string": "seven"
}
]
'
I’m trying to format the output
在写while循环的时候,发现了一个问题,在while循环内部对变量赋值、定义变量、数组定义等等环境,在循环外面失效。
一个简单的测试脚本如下:
#!/bin/bash
echo "abc xyz" | while read line
do
new_var=$line
done
echo new_var is null: $new_var?
执行结果证明,$new_var的结果是空值。在google上查了查,才发现问题出在管道上。加上自己的总结,特分享两个使用while循环时的陷阱。
先看看下面的内容。
while循环的写法有好几种,它的语法结构为:
while test_cmd_list; do cmd_list; done
但更… Read More