# 查看系统环境变量 echo $PATH # 符号$()作用是命令替换,括号中是命令,可以使用“·”(键盘左上角的字符)代替 # 执行ls -l命令 echo 'Current directory' $(ls -l) # 符号$(())作用是对内容进行计算 # 将变量a和变量b相加 echo $((a+b)) # 符号${}作用是变量替换,括号中是变量名 # ${a}和$a的作用相同,代表变量值 echo ${a} # 字符串截取,截取字符串a的从1到3的字符 # 还有其他截取的方式,请查询相关的即可 # 注意在Ubuntu中的shell script中,下面的命令会出现Bad sulostitution的问题,解决方法: # 执行 sudo dpkg-reconfigure dash命令,然后选择no即可 echo ${a:1:3} # 获取字符串长度 ${#a} # 重定向 > # 将当前的列出的数据重定向到my.txt文件中 ls -l > my.txt # 追加 >> # 将当前的列出的数据追加到my.txt文件中 ls -l >> my.txt # 标准输入读取 # 输入数据my_data是变量 read my_data # 打印my_data echo my_data
查找将当前目录中的“mason”目录,并将路径重定向到文件中.
# 在home中创建my_data,用于重定向的目录 mkdir my_data
编写shell script尽量按照标准的格式写,shell script如下:
#!/bin/bash # # Program: # Read the directory # History # 2021-06-29 make_progress # PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin export PATH echo "--- start ---" echo "" # Output directory out_dir=""/home/my_data" # Find the directory of 'mason' for m_dir in $(find -type d -name 'mason') do echo $m_dir>>$out_dir/'mason.txt' done echo "" echo "--- end ---"
使用while读取数据文件的每一行,while常和read配合使用
#!/bin/bash # # Program: # Read the file # History # 2021-06-29 author # PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin export PATH echo "--- start ---" echo "" # Find the directory of 'mason' m_data=$(cat '/home/test/my_data.csv') while read line do echo $line done<$m_data echo "" echo "--- end ---"