小编pie*_*tti的帖子

为什么函数中的 $1 不打印脚本的第一个参数?

为什么不在这个简单的 bash 脚本中echo $1打印$1

#!/bin/bash
# function.sh
print_something () {
echo $1
}
print_something

$ ./function.sh 123  -> why doesn't it print '123' as a result?
Run Code Online (Sandbox Code Playgroud)

bash shell-script function

15
推荐指数
2
解决办法
2万
查看次数

获取关联数组中特定值对应的键

我声明一个关联数组:

declare -A array=([a]=blue [b]=red [c]=yellow)
Run Code Online (Sandbox Code Playgroud)

现在我可以做:

echo ${array[@]}  --> blue red yellow
Run Code Online (Sandbox Code Playgroud)

或者

echo ${array[b]}  --> red
Run Code Online (Sandbox Code Playgroud)

或者

echo ${!array[@]} --> a b c
Run Code Online (Sandbox Code Playgroud)

现在我只想知道与red值关联的键。有没有办法只检测单个密钥?

bash associative-array

7
推荐指数
2
解决办法
6637
查看次数

剪切命令字段

我使用cut命令注意到这两个不同的字段行为:

bash:~$ var=`cat /proc/cpuinfo | grep 'model name' | uniq | cut -d ' ' -f 3,4,5,6,7,8 `  
echo $var
Run Code Online (Sandbox Code Playgroud)

产出

Intel(R) Core(TM) i7-3632QM CPU @ 2.20GHz  
Run Code Online (Sandbox Code Playgroud)

和:

bash:~$ echo `cat /proc/cpuinfo | grep 'model name' | uniq` | cut -d ' ' -f 3,4,5,6,7,8
Run Code Online (Sandbox Code Playgroud)

产出

: Intel(R) Core(TM) i7-3632QM CPU @  
Run Code Online (Sandbox Code Playgroud)

字段编号相同但输出不同。为什么?

grep awk cut uniq command-substitution

5
推荐指数
1
解决办法
304
查看次数

adduser 名字.姓氏

我尝试同时使用 useradd 和 adduser 来获取键入为 Firstname.Lastname 的用户名。我还尝试安装 libuser 并使用 luseradd,但我也遇到了错误。有没有办法做到这一点(当然应该是)?我正在尝试编写一个脚本,该脚本从文件中获取用户列表并创建其中的新用户。我可以使用简单的用户名来做到这一点,但我需要列出 Firstname.Lastname。如果我使用: adduser --force-badname 那么我可以获得用户 Firstname.Lastname 但主文件夹不包含桌面和模板目录 .. 以及如果我使用: useradd --create-home "john.doe" 我可以获得主文件夹,但里面没有桌面和模板....

linux bash ubuntu shell-script useradd

2
推荐指数
1
解决办法
1553
查看次数